On Wed, 25 Nov 2020 at 22:14, Iuliana Prodan (OSS) <iuliana.prodan@xxxxxxxxxxx> wrote: > > From: Iuliana Prodan <iuliana.prodan@xxxxxxx> > > Add the option to allocate the crypto request object plus any extra space > needed by the driver into a DMA-able memory. > > Add CRYPTO_TFM_REQ_DMA flag to be used by backend implementations to > indicate to crypto API the need to allocate GFP_DMA memory > for private contexts of the crypto requests. > These are always directional DMA mappings, right? So why can't we use bounce buffering here? > For IPsec use cases, CRYPTO_TFM_REQ_DMA flag is also checked in > esp_alloc_tmp() function for IPv4 and IPv6. > > This series includes an example of how a driver can use > CRYPTO_TFM_REQ_DMA flag while setting reqsize to a larger value > to avoid allocating memory at crypto request runtime. > The extra size needed by the driver is added to the reqsize field > that indicates how much memory could be needed per request. > > Iuliana Prodan (4): > crypto: add CRYPTO_TFM_REQ_DMA flag > net: esp: check CRYPTO_TFM_REQ_DMA flag when allocating crypto request > crypto: caam - avoid allocating memory at crypto request runtime for > skcipher > crypto: caam - avoid allocating memory at crypto request runtime for > aead > > drivers/crypto/caam/caamalg.c | 130 +++++++++++++++++++++++++--------- > include/crypto/aead.h | 4 ++ > include/crypto/akcipher.h | 21 ++++++ > include/crypto/hash.h | 4 ++ > include/crypto/skcipher.h | 4 ++ > include/linux/crypto.h | 1 + > net/ipv4/esp4.c | 7 +- > net/ipv6/esp6.c | 7 +- > 8 files changed, 144 insertions(+), 34 deletions(-) > > -- > 2.17.1 >