The driver adds hash algorithms, sm3, md5, sha1,
sha256, sha512. Add fallback tfm supporting. Modify
the driver as needed. The fuzzing test has been passed.
changes v1->v2:
1. Modify the process of export and import. Using the ahash_req as
hash state. By copying the content of structure sec_ahash_req to
avoid dereferencing random pointers from import path. User can
export the hash state and then import the hash state, and it
still work.
2. Add sm3/md5 generic selection
changes v2->v3:
1. Modify the process of export and import. Export the block of hash
state from the mac address, then user can import the existing hash
state.
Kai Ye (6):
crypto: hisilicon/sec - add ping-pong buffer for ahash
crypto: hisilicon/sec - add ahash alg features for Kunpeng920
crypto: hisilicon/sec - support the larger packets for digest mode
crypto: hisilicon/sec - ahash adapt to Kunpeng930 SQE
crypto: hisilicon/sec - add fallback tfm supporting for ahash
crypto: hisilicon/sec - add sm3/md5 generic selection for ahash
drivers/crypto/hisilicon/Kconfig | 2 +
drivers/crypto/hisilicon/sec2/sec.h | 56 +-
drivers/crypto/hisilicon/sec2/sec_crypto.c | 1345 +++++++++++++++++++-
drivers/crypto/hisilicon/sec2/sec_crypto.h | 10 +
4 files changed, 1396 insertions(+), 17 deletions(-)