Messages in this thread | | | From | Andrey Smirnov <> | Subject | [PATCH v7 00/15] crypto: caam - Add i.MX8MQ support | Date | Mon, 12 Aug 2019 13:07:24 -0700 |
| |
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 [v6]:
- Fixed build problems in "crypto: caam - make CAAM_PTR_SZ dynamic"
- Collected Reviewied-by from Horia
- "crypto: caam - force DMA address to 32-bit on 64-bit i.MX SoCs" is changed to check 'caam_ptr_sz' instead of using 'caam_imx'
- Incorporated feedback for "crypto: caam - request JR IRQ as the last step" and "crypto: caam - simplfy clock initialization"
Changes since [v5]:
- Hunk replacing sizeof(*jrp->inpring) to SIZEOF_JR_INPENTRY in "crypto: caam - don't hardcode inpentry size", lost in [v5], is back
- Collected Tested-by from Iuliana
Changes since [v4]:
- Fixed missing sentinel element in "crypto: caam - simplfy clock initialization"
- Squashed all of the devers related patches into a single one and converted IRQ allocation to use devres while at it
- Added "crypto: caam - request JR IRQ as the last step" as discussed
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
[v6] lore.kernel.org/r/20190717152458.22337-1-andrew.smirnov@gmail.com [v5] lore.kernel.org/r/20190715201942.17309-1-andrew.smirnov@gmail.com [v4] lore.kernel.org/r/20190703081327.17505-1-andrew.smirnov@gmail.com [v3] lore.kernel.org/r/20190617160339.29179-1-andrew.smirnov@gmail.com [v2] lore.kernel.org/r/20190607200225.21419-1-andrew.smirnov@gmail.com [v1] https://patchwork.kernel.org/cover/10825625/
Andrey Smirnov (15): crypto: caam - move DMA mask selection into a function crypto: caam - simplfy clock initialization crypto: caam - convert caam_jr_init() to use devres crypto: caam - request JR IRQ as the last step 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 - share definition for MAX_SDLEN 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/caamalg_qi2.h | 27 ---- drivers/crypto/caam/caamhash.c | 2 +- drivers/crypto/caam/caampkc.c | 8 +- drivers/crypto/caam/caamrng.c | 2 +- drivers/crypto/caam/ctrl.c | 220 ++++++++++++++---------------- drivers/crypto/caam/desc_constr.h | 47 ++++++- drivers/crypto/caam/error.c | 3 + drivers/crypto/caam/intern.h | 32 ++++- drivers/crypto/caam/jr.c | 93 ++++--------- drivers/crypto/caam/pdb.h | 16 ++- drivers/crypto/caam/pkc_desc.c | 8 +- drivers/crypto/caam/qi.h | 26 ---- drivers/crypto/caam/regs.h | 139 +++++++++++++------ 14 files changed, 326 insertions(+), 299 deletions(-)
-- 2.21.0
| |