linux/drivers/crypto/caam
Horia Geantă 261ea058f0 crypto: caam - handle core endianness != caam endianness
There are SoCs like LS1043A where CAAM endianness (BE) does not match
the default endianness of the core (LE).
Moreover, there are requirements for the driver to handle cases like
CPU_BIG_ENDIAN=y on ARM-based SoCs.
This requires for a complete rewrite of the I/O accessors.

PPC-specific accessors - {in,out}_{le,be}XX - are replaced with
generic ones - io{read,write}[be]XX.

Endianness is detected dynamically (at runtime) to allow for
multiplatform kernels, for e.g. running the same kernel image
on LS1043A (BE CAAM) and LS2080A (LE CAAM) armv8-based SoCs.

While here: debugfs entries need to take into consideration the
endianness of the core when displaying data. Add the necessary
glue code so the entries remain the same, but they are properly
read, regardless of the core and/or SEC endianness.

Note: pdb.h fixes only what is currently being used (IPsec).

Reviewed-by: Tudor Ambarus <tudor-dan.ambarus@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Alex Porosanu <alexandru.porosanu@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-05-31 16:41:54 +08:00
..
caamalg.c crypto: caam - add support for acipher xts(aes) 2015-10-08 21:42:20 +08:00
caamhash.c crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
caamrng.c crypto: caam - Use the preferred style for memory allocations 2015-08-24 22:07:42 +08:00
compat.h crypto: caam - Enable and disable clocks on Freescale i.MX platforms 2015-08-10 23:18:56 +08:00
ctrl.c crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
ctrl.h crypto: caam - fix ERA retrieval function 2014-02-09 09:59:27 +08:00
desc_constr.h crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
desc.h crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
error.c crypto: caam - don't emit ICV check failures to dmesg 2015-01-26 11:34:23 +11:00
error.h crypto: caam - Contain caam_jr_strstatus() ugliness 2014-05-08 21:58:06 +08:00
intern.h crypto: caam - Enable and disable clocks on Freescale i.MX platforms 2015-08-10 23:18:56 +08:00
jr.c crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
jr.h crypto: caam - Add API's to allocate/free Job Rings 2013-10-30 12:02:57 +08:00
Kconfig crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
key_gen.c crypto: caam - fix missing dma unmap on error path 2014-11-06 23:10:20 +08:00
key_gen.h crypto: caam - change key gen functions to return signed int 2013-04-25 21:01:43 +08:00
Makefile crypto: caam - Add Platform driver for Job Ring 2013-10-30 12:02:57 +08:00
pdb.h crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
regs.h crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00
sg_sw_sec4.h crypto: caam - handle core endianness != caam endianness 2016-05-31 16:41:54 +08:00