lkml.org 
[lkml]   [2022]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[v2 PATCH 7/9] crypto: akcipher - Add ctx helpers with DMA alignment
    This patch adds helpers to access the akcipher context structure and
    request context structure with an added alignment for DMA access.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    ---

    include/crypto/internal/akcipher.h | 24 +++++++++++++++++++++++-
    1 file changed, 23 insertions(+), 1 deletion(-)

    diff --git a/include/crypto/internal/akcipher.h b/include/crypto/internal/akcipher.h
    index 1474a2d890fc..aaf1092b93b8 100644
    --- a/include/crypto/internal/akcipher.h
    +++ b/include/crypto/internal/akcipher.h
    @@ -33,15 +33,37 @@ static inline void *akcipher_request_ctx(struct akcipher_request *req)
    return req->__ctx;
    }

    +static inline void *akcipher_request_ctx_dma(struct akcipher_request *req)
    +{
    + unsigned int align = crypto_dma_align();
    +
    + if (align <= crypto_tfm_ctx_alignment())
    + align = 1;
    +
    + return PTR_ALIGN(akcipher_request_ctx(req), align);
    +}
    +
    static inline void akcipher_set_reqsize(struct crypto_akcipher *akcipher,
    unsigned int reqsize)
    {
    akcipher->reqsize = reqsize;
    }

    +static inline void akcipher_set_reqsize_dma(struct crypto_akcipher *akcipher,
    + unsigned int reqsize)
    +{
    + reqsize += crypto_dma_align() & ~(crypto_tfm_ctx_alignment() - 1);
    + akcipher->reqsize = reqsize;
    +}
    +
    static inline void *akcipher_tfm_ctx(struct crypto_akcipher *tfm)
    {
    - return tfm->base.__crt_ctx;
    + return crypto_tfm_ctx(&tfm->base);
    +}
    +
    +static inline void *akcipher_tfm_ctx_dma(struct crypto_akcipher *tfm)
    +{
    + return crypto_tfm_ctx_dma(&tfm->base);
    }

    static inline void akcipher_request_complete(struct akcipher_request *req,
    \
     
     \ /
      Last update: 2022-11-25 05:37    [W:3.002 / U:0.584 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site