]> git.baikalelectronics.ru Git - kernel.git/commit
chcr: Support for Chelsio's Crypto Hardware
authorHariprasad Shenai <hariprasad@chelsio.com>
Wed, 17 Aug 2016 07:03:05 +0000 (12:33 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Aug 2016 06:59:30 +0000 (23:59 -0700)
commit82a36252999d2581acee75f34a42818e8f09d743
tree05d9d8e48f8de04eea8640319630ce4e40b30660
parentaa887e84bd19b5f1c64223d5eedb89d777474cd5
chcr: Support for Chelsio's Crypto Hardware

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: Atul Gupta <atul.gupta@chelsio.com>
Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/crypto/chelsio/chcr_algo.c [new file with mode: 0644]
drivers/crypto/chelsio/chcr_algo.h [new file with mode: 0644]
drivers/crypto/chelsio/chcr_core.c [new file with mode: 0644]
drivers/crypto/chelsio/chcr_core.h [new file with mode: 0644]
drivers/crypto/chelsio/chcr_crypto.h [new file with mode: 0644]