• Stanimir Varbanov's avatar
    crypto: qce - Qualcomm crypto engine driver · ec8f5d8f
    Stanimir Varbanov authored
    The driver is separated by functional parts. The core part
    implements a platform driver probe and remove callbaks.
    The probe enables clocks, checks crypto version, initialize
    and request dma channels, create done tasklet and init
    crypto queue and finally register the algorithms into crypto
    core subsystem.
    
    - DMA and SG helper functions
     implement dmaengine and sg-list helper functions used by
     other parts of the crypto driver.
    
    - ablkcipher algorithms
     implementation of AES, DES and 3DES crypto API callbacks,
     the crypto register alg function, the async request handler
     and its dma done callback function.
    
    - SHA and HMAC transforms
     implementation and registration of ahash crypto type.
     It includes sha1, sha256, hmac(sha1) and hmac(sha256).
    
    - infrastructure to setup the crypto hw
     contains functions used to setup/prepare hardware registers for
     all algorithms supported by the crypto block. It also exports
     few helper functions needed by algorithms:
    	- to check hardware status
    	- to start crypto hardware
    	- to translate data stream to big endian form
    
     Adds register addresses and bit/masks used by the driver
     as well.
    Signed-off-by: default avatarStanimir Varbanov <svarbanov@mm-sol.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    ec8f5d8f
ablkcipher.c 11.2 KB