On Tue, Jan 14, 2025 at 01:36:33PM +0100, Christian Marangi wrote: > This small series add support for the Inside Secure EIP-93. > This is a predecessor of the current supported EIP197. It doesn't > require a firmware but instead it's embedded in the SoC. > > First patch extend guard for spinlock_bh. > > The other actually implement Documentation and Driver. > > The Driver pass all the normal selft test for the supported > algo and also pass the EXTRA test with fuzz_iterations set to 10000. > > Changes v11: > - Drop any mtk variable reference and use eip93 instead > - Mute smatch warning for context unbalance by using scoped_guard instead > of guard cleanup API > Changes v10: > - Use CRYPTO_ALG_ASYNC for eip93_hmac_setkey > Changes v9: > - Rework hash code to alloc DMA only when needed > - Rework hash code to only alloc needed blocks and use > local struct in req for everything else > - Rework hash code to use GFP_ATOMIC > - Simplify hash update function > - Generalize hmac key set function > Changes v8: > - Rework export and update to not sleep on exporting state > (consume pending packet in update and return -EINPROGRESS) > Changes v7: > - Fix copypaste error in __eip93_hash_init > - Rework import/export to actually export the partial hash > (we actually unmap DMA on export) > - Rename no_finalize variable to better partial_hash > - Rename 3rd commit title and drop Mediatek from title. > - Add Cover Letter > - Add Reviewed-by to DT commit > (cumulative changes from old series that had changelog in each patch) > Changes v6: > - Add SoC specific compatible > - Add now supported entry for compatible with no user > Changes v5: > - Add Ack tag to guard patch > - Comment out compatible with no current user > - Fix smatch warning (reported by Dan Carpenter) > Changes v4: > - Out of RFC > - Add missing bitfield.h > - Drop useless header > Changes v3: > - Mute warning from Clang about C23 > - Fix not inizialized err > - Drop unused variable > - Add SoC compatible with generic one > Changes v2: > - Rename all variables from mtk to eip93 > - Move to inside-secure directory > - Check DMA map errors > - Use guard API for spinlock > - Minor improvements to code > - Add guard patch > - Change to better compatible > - Add description for EIP93 models > > Christian Marangi (3): > spinlock: extend guard with spinlock_bh variants > dt-bindings: crypto: Add Inside Secure SafeXcel EIP-93 crypto engine > crypto: Add Inside Secure SafeXcel EIP-93 crypto engine support > > .../crypto/inside-secure,safexcel-eip93.yaml | 67 ++ > MAINTAINERS | 7 + > drivers/crypto/Kconfig | 1 + > drivers/crypto/Makefile | 1 + > drivers/crypto/inside-secure/eip93/Kconfig | 20 + > drivers/crypto/inside-secure/eip93/Makefile | 5 + > .../crypto/inside-secure/eip93/eip93-aead.c | 711 ++++++++++++++ > .../crypto/inside-secure/eip93/eip93-aead.h | 38 + > .../crypto/inside-secure/eip93/eip93-aes.h | 16 + > .../crypto/inside-secure/eip93/eip93-cipher.c | 413 +++++++++ > .../crypto/inside-secure/eip93/eip93-cipher.h | 60 ++ > .../crypto/inside-secure/eip93/eip93-common.c | 809 ++++++++++++++++ > .../crypto/inside-secure/eip93/eip93-common.h | 24 + > .../crypto/inside-secure/eip93/eip93-des.h | 16 + > .../crypto/inside-secure/eip93/eip93-hash.c | 866 ++++++++++++++++++ > .../crypto/inside-secure/eip93/eip93-hash.h | 82 ++ > .../crypto/inside-secure/eip93/eip93-main.c | 501 ++++++++++ > .../crypto/inside-secure/eip93/eip93-main.h | 151 +++ > .../crypto/inside-secure/eip93/eip93-regs.h | 335 +++++++ > include/linux/spinlock.h | 13 + > 20 files changed, 4136 insertions(+) > create mode 100644 Documentation/devicetree/bindings/crypto/inside-secure,safexcel-eip93.yaml > create mode 100644 drivers/crypto/inside-secure/eip93/Kconfig > create mode 100644 drivers/crypto/inside-secure/eip93/Makefile > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-aead.c > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-aead.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-aes.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-cipher.c > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-cipher.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-common.c > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-common.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-des.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-hash.c > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-hash.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-main.c > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-main.h > create mode 100644 drivers/crypto/inside-secure/eip93/eip93-regs.h > > -- > 2.45.2 All applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt