This set fixes the issues related with the dm-crypt + QAT driver use-case. The first patch fixes a potential dead-lock that might occur when using dm-crypt + QAT in out of memory conditions. The datapaths of the aead and skcipher implementations have been changed to use pre-allocated buffers that are part of the request contexts. The second patch addresses a stall in the dm-crypt + QAT usecase by adding support for the CRYPTO_TFM_REQ_MAY_BACKLOG flag. If the HW queue is full, the driver enqueues the request in a list and resubmit it at a later time, avoiding losing it. The last, removes the CRYPTO_ALG_ALLOCATES_MEMORY flag from the aead and skcipher implementations so that the driver can be used by dm-crypt. Although the set is functional, I marked it as RFC as I want to do some code improvements on the second patch, `crypto: qat - add backlog mechanism`, do additional performance profiling and optimizations. Giovanni Cabiddu (2): crypto: qat - use pre-allocated buffers in datapath crypto: qat - remove CRYPTO_ALG_ALLOCATES_MEMORY flag Vishnu Das Ramachandran (1): crypto: qat - add backlog mechanism drivers/crypto/qat/qat_common/adf_transport.c | 12 + drivers/crypto/qat/qat_common/adf_transport.h | 1 + .../qat/qat_common/adf_transport_internal.h | 1 + drivers/crypto/qat/qat_common/qat_algs.c | 305 +++++++++++++----- drivers/crypto/qat/qat_common/qat_crypto.h | 26 ++ 5 files changed, 269 insertions(+), 76 deletions(-) -- 2.35.1