• Hariprasad Shenai's avatar
    chcr: Support for Chelsio's Crypto Hardware · 324429d7
    Hariprasad Shenai authored
    The Chelsio's Crypto Hardware can perform the following operations:
    SHA1, SHA224, SHA256, SHA384 and SHA512, HMAC(SHA1), HMAC(SHA224),
    HMAC(SHA256), HMAC(SHA384), HAMC(SHA512), AES-128-CBC, AES-192-CBC,
    AES-256-CBC, AES-128-XTS, AES-256-XTS
    
    This patch implements the driver for above mentioned features. This
    driver is an Upper Layer Driver which is attached to Chelsio's LLD
    (cxgb4) and uses the queue allocated by the LLD for sending the crypto
    requests to the Hardware and receiving the responses from it.
    
    The crypto operations can be performed by Chelsio's hardware from the
    userspace applications and/or from within the kernel space using the
    kernel's crypto API.
    
    The above mentioned crypto features have been tested using kernel's
    tests mentioned in testmgr.h. They also have been tested from user
    space using libkcapi and Openssl.
    Signed-off-by: default avatarAtul Gupta <atul.gupta@chelsio.com>
    Signed-off-by: default avatarHariprasad Shenai <hariprasad@chelsio.com>
    Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    324429d7
chcr_algo.c 43.8 KB