[PATCH 0/5] crypto: caam - avoid allocating memory at crypto request runtime

From: Iuliana Prodan (OSS)
Date: Wed Dec 02 2020 - 20:36:39 EST


From: Iuliana Prodan <iuliana.prodan@xxxxxxx>

This series removes CRYPTO_ALG_ALLOCATES_MEMORY flag and
allocates the memory needed by the driver, to fulfil a
request, within the crypto request object.
The extra size needed for base extended descriptor, hw
descriptor commands and link tables is added to the reqsize
field that indicates how much memory could be needed per request.

CRYPTO_ALG_ALLOCATES_MEMORY flag is limited only to
dm-crypt use-cases, which seems to be 4 entries maximum.
Therefore in reqsize we allocate memory for maximum 4 entries
for src and 4 for dst, aligned.
If the driver needs more than the 4 entries maximum, the memory
is dynamically allocated, at runtime.

Iuliana Prodan (5):
crypto: caam/jr - avoid allocating memory at crypto request runtime
for skcipher
crypto: caam/jr - avoid allocating memory at crypto request runtime
for aead
crypto: caam/jr - avoid allocating memory at crypto request runtime
fost hash
crypto: caam/qi - avoid allocating memory at crypto request runtime
crypto: caam/qi2 - avoid allocating memory at crypto request runtime

drivers/crypto/caam/caamalg.c | 141 +++++++---
drivers/crypto/caam/caamalg_qi.c | 134 ++++++----
drivers/crypto/caam/caamalg_qi2.c | 415 ++++++++++++++++++++----------
drivers/crypto/caam/caamalg_qi2.h | 6 +
drivers/crypto/caam/caamhash.c | 77 ++++--
5 files changed, 538 insertions(+), 235 deletions(-)

--
2.17.1