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(-) -- 2.33.0