summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/caam/caamrng.c
Commit message (Collapse)AuthorAgeFilesLines
* crypto: caam - clean-up in caam_init_rng()Marcin Niestroj2018-09-041-5/+1
| | | | | | | | | | | | | | | | Pick commit f366af462aef1dcaeab0f68b031e5c4c4eb860e1 from Linux upstream. crypto: caam - clean-up in caam_init_rng() Clean up the code, as indicated by Coccinelle. Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* crypto: caam - trivial code clean-upMarcin Niestroj2018-09-041-2/+1
| | | | | | | | | | | | | | | | | | Pick commit 4ca7c7d8fea1ffdc36df33578c1e68d0d6367b0c from Linux upstream. crypto: caam - trivial code clean-up -replace offsetof with container_of -remove unused "assoc_nents", "iv_dma" from aead_edesc and fix comments -remove unused CAAM_MAX_IV_LENGTH #define Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* crypto: caam: use dma_alloc_coherent instead of dma_allocOleksij Rempel2017-07-121-3/+1
| | | | | | | | | | dma_alloc return non-coherent memory, but the driver does no cache maintenance on the buffer, causing memory corruption. Fix this by requesting coherent memory for the DMA transfer. Fixes: ef4144b4ab63 (crypto: caam - fix RNG buffer cache alignment) Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
* crypto: caam - fix RNG buffer cache alignmentOleksij Rempel2017-03-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this is alternate version of linux fix: --------------------------------------------------------------------- | commit 412c98c1bef65fe7589f1300e93735d96130307c | Author: Steve Cornelius <steve.cornelius@freescale.com> | Date: Mon Jun 15 16:52:59 2015 -0700 | | crypto: caam - fix RNG buffer cache alignment | | The hwrng output buffers (2) are cast inside of a a struct (caam_rng_ctx) | allocated in one DMA-tagged region. While the kernel's heap allocator | should place the overall struct on a cacheline aligned boundary, the 2 | buffers contained within may not necessarily align. Consenquently, the | ends of unaligned buffers may not fully flush, and if so, stale data will be | left behind, resulting in small repeating patterns. | | This fix aligns the buffers inside the struct. | | Note that not all of the data inside caam_rng_ctx necessarily needs to | be DMA-tagged, only the buffers themselves require this. However, a fix | would incur the expense of error-handling bloat in the case of allocation | failure. | | Cc: stable@vger.kernel.org | Signed-off-by: Steve Cornelius <steve.cornelius@freescale.com> | Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com> | Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> --------------------------------------------------------------------- instead we will use just dma_alloc() Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* caamrng: port to hwrng frameworkOleksij Rempel2017-03-301-28/+12
| | | | | Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* crypto: add i.MX6 CAAM supportSteffen Trumtrar2016-02-121-0/+291
Add the i.MX6 crypto core CAAM with support for the random number generator. The core itself works with jobrings in which descriptors can be queued/dequeued for processing. Depending on descriptor type the CAAM unit then either produces random numbers or decrypts/encrypts data. The code is based on the Linux v4.1 driver of the same name without all the crypto/hashing components. Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>