[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXH=gyCz7NQXaAoNC4cf37t9E8znngyLFVPv+dO79=Z9oQ@mail.gmail.com>
Date: Wed, 25 Nov 2020 22:16:57 +0100
From: Ard Biesheuvel <ardb@...nel.org>
To: "Iuliana Prodan (OSS)" <iuliana.prodan@....nxp.com>
Cc: Herbert Xu <herbert@...dor.apana.org.au>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
"David S. Miller" <davem@...emloft.net>,
Horia Geanta <horia.geanta@....com>,
Aymen Sghaier <aymen.sghaier@....com>,
Silvano Di Ninno <silvano.dininno@....com>,
Franck Lenormand <franck.lenormand@....com>,
Linux Crypto Mailing List <linux-crypto@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-imx <linux-imx@....com>,
Iuliana Prodan <iuliana.prodan@....com>
Subject: Re: [RFC PATCH 0/4] crypto: add CRYPTO_TFM_REQ_DMA flag
On Wed, 25 Nov 2020 at 22:14, Iuliana Prodan (OSS)
<iuliana.prodan@....nxp.com> wrote:
>
> From: Iuliana Prodan <iuliana.prodan@....com>
>
> 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
>
Powered by blists - more mailing lists