From: Andrei Botila <andrei.botila@xxxxxxx> This patch series fixes some problems in CAAM's implementation of xts(aes): - CAAM until Era 9 can't process XTS with 16B IV - CAAM can only process in hardware XTS key lengths of 16B and 32B - These hardware limitations are resolved through a fallback - CAAM used to return 0 for XTS block length equal to zero This patch series also adds a new feature in CAAM's xts(aes): - CAAM is now able to process XTS with 16B IV in HW Changes since v2: - modified xts_skcipher_ivsize() based on comments - squashed the previous 7-9/12 commits Changes since v1: - use only get_unaligned() for calculating XTS IV size - fixed the double calling of crypto_skcipher_set_reqsize() in case of XTS - added a patch which modifies the return value for XTS when block length is equal to zero Andrei Botila (10): crypto: caam/jr - add fallback for XTS with more than 8B IV crypto: caam/qi - add fallback for XTS with more than 8B IV crypto: caam/qi2 - add fallback for XTS with more than 8B IV crypto: caam/jr - add support for more XTS key lengths crypto: caam/qi - add support for more XTS key lengths crypto: caam/qi2 - add support for more XTS key lengths crypto: caam - add xts check for block length equal to zero crypto: caam/jr - add support for XTS with 16B IV crypto: caam/qi - add support for XTS with 16B IV crypto: caam/qi2 - add support for XTS with 16B IV drivers/crypto/caam/Kconfig | 3 + drivers/crypto/caam/caamalg.c | 94 +++++++++++++++++++++--- drivers/crypto/caam/caamalg_desc.c | 27 ++++--- drivers/crypto/caam/caamalg_qi.c | 94 +++++++++++++++++++++--- drivers/crypto/caam/caamalg_qi2.c | 111 ++++++++++++++++++++++++++--- drivers/crypto/caam/caamalg_qi2.h | 2 + 6 files changed, 293 insertions(+), 38 deletions(-) -- 2.17.1