[PATCH v4 00/16] crypto: caam - Add i.MX8MQ support
From: Andrey Smirnov
Date: Wed Jul 03 2019 - 04:14:00 EST
Everyone:
Picking up where Chris left off (I chatted with him privately
beforehead), this series adds support for i.MX8MQ to CAAM driver. Just
like [v1], this series is i.MX8MQ only.
Feedback is welcome!
Thanks,
Andrey Smirnov
Changes since [v3]:
- Patchset changed to select DMA size at runtime in order to enable
support for both i.MX8MQ and Layerscape at the same time. I only
tested the patches on i.MX6,7 and 8MQ, since I don't have access
to any of the Layerscape HW. Any help in that regard would be
appareciated.
- Bulk clocks and their number are now stored as a part of struct
caam_drv_private to simplify allocation and cleanup code (no
special context needed)
- Renamed 'soc_attr' -> 'imx_soc_match' for clarity
Changes since [v2]:
- Dropped "crypto: caam - do not initialise clocks on the i.MX8" and
replaced it with "crypto: caam - simplfy clock initialization" and
"crypto: caam - add clock entry for i.MX8MQ"
Changes since [v1]
- Series reworked to continue using register based interface for
queueing RNG initialization job, dropping "crypto: caam - use job
ring for RNG instantiation instead of DECO"
- Added a patch to share DMA mask selection code
- Added missing Signed-off-by for authors of original NXP tree
commits that this sereis is based on
[v3] lore.kernel.org/r/20190617160339.29179-1-andrew.smirnov@xxxxxxxxx
[v2] lore.kernel.org/r/20190607200225.21419-1-andrew.smirnov@xxxxxxxxx
[v1] https://patchwork.kernel.org/cover/10825625/
Andrey Smirnov (16):
crypto: caam - move DMA mask selection into a function
crypto: caam - simplfy clock initialization
crypto: caam - move tasklet_init() call down
crypto: caam - use deveres to allocate 'entinfo'
crypto: caam - use devres to allocate 'outring'
crypto: caam - use devres to allocate 'inpring'
crytpo: caam - make use of iowrite64*_hi_lo in wr_reg64
crypto: caam - use ioread64*_hi_lo in rd_reg64
crypto: caam - drop 64-bit only wr/rd_reg64()
crypto: caam - make CAAM_PTR_SZ dynamic
crypto: caam - move cpu_to_caam_dma() selection to runtime
crypto: caam - drop explicit usage of struct jr_outentry
crypto: caam - don't hardcode inpentry size
crypto: caam - force DMA address to 32-bit on 64-bit i.MX SoCs
crypto: caam - always select job ring via RSR on i.MX8MQ
crypto: caam - add clock entry for i.MX8MQ
drivers/crypto/caam/caamalg.c | 2 +-
drivers/crypto/caam/caamhash.c | 2 +-
drivers/crypto/caam/caampkc.c | 8 +-
drivers/crypto/caam/caamrng.c | 2 +-
drivers/crypto/caam/ctrl.c | 224 ++++++++++++++----------------
drivers/crypto/caam/desc_constr.h | 20 ++-
drivers/crypto/caam/error.c | 3 +
drivers/crypto/caam/intern.h | 32 ++++-
drivers/crypto/caam/jr.c | 67 +++------
drivers/crypto/caam/pdb.h | 16 ++-
drivers/crypto/caam/pkc_desc.c | 8 +-
drivers/crypto/caam/regs.h | 139 ++++++++++++------
12 files changed, 294 insertions(+), 229 deletions(-)
--
2.21.0