All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/23] Support more Amlogic SoC families in crypto driver
@ 2024-03-26 15:31 ` Alexey Romanov
  0 siblings, 0 replies; 102+ messages in thread
From: Alexey Romanov @ 2024-03-26 15:31 UTC (permalink / raw)
  To: neil.armstrong, clabbe, herbert, davem, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, khilman, jbrunet,
	martin.blumenstingl, vadim.fedorenko
  Cc: linux-crypto, linux-amlogic, linux-kernel, devicetree,
	linux-arm-kernel, kernel, Alexey Romanov

Hello!

This patchset expand the funcionality of the Amlogic
crypto driver by adding support for more SoC families:
AXG, G12A, G12B, SM1, A1, S4.

Also specify and enable crypto node in device tree
for reference Amlogic devices.

Tested on GXL, AXG, G12A/B, SM1, A1 and S4 devices via
custom tests [1] and tcrypt module.

---

Changes V1 -> V2 [2]:

- Rebased over linux-next.
- Adjusted device tree bindings description.
- A1 and S4 dts use their own compatible, which is a G12 fallback.

Changes V2 -> V3 [3]:

- Fix errors in dt-bindings and device tree.
- Add new field in platform data, which determines
whether clock controller should be used for crypto IP.
- Place back MODULE_DEVICE_TABLE.
- Correct commit messages.

Changes V3 -> V4 [4]:

- Update dt-bindings as per Krzysztof Kozlowski comments.
- Fix bisection: get rid of compiler errors in some patches.

Changes V4 -> V5 [5]:

- Tested on GXL board:
  1. Fix panic detected by Corentin Labbe [6].
  2. Disable hasher backend for GXL: in its current realization
     is doesn't work. And there are no examples or docs in the
     vendor SDK.
- Fix AES-CTR realization: legacy boards (gxl, g12, axg) requires
  inversion of the keyiv at keys setup stage.
- A1 now uses its own compatible string.
- S4 uses A1 compatible as fallback.
- Code fixes based on comments Neil Atrmstrong and Rob Herring.
- Style fixes (set correct indentations)

Changes V5 -> V6 [7]:

- Fix DMA sync warning reported by Corentin Labbe [8].
- Remove CLK input from driver. Remove clk definition
  and second interrput line from crypto node inside GXL dtsi.

Links:
  - [1] https://gist.github.com/mRrvz/3fb8943a7487ab7b943ec140706995e7
  - [2] https://lore.kernel.org/all/20240110201216.18016-1-avromanov@salutedevices.com/
  - [3] https://lore.kernel.org/all/20240123165831.970023-1-avromanov@salutedevices.com/
  - [4] https://lore.kernel.org/all/20240205155521.1795552-1-avromanov@salutedevices.com/
  - [5] https://lore.kernel.org/all/20240212135108.549755-1-avromanov@salutedevices.com/
  - [6] https://lore.kernel.org/all/ZcsYaPIUrBSg8iXu@Red/
  - [7] https://lore.kernel.org/all/20240301132936.621238-1-avromanov@salutedevices.com/
  - [8] https://lore.kernel.org/all/Zf1BAlYtiwPOG-Os@Red/

Alexey Romanov (23):
  drivers: crypto: meson: don't hardcode IRQ count
  drviers: crypto: meson: add platform data
  drivers: crypto: meson: remove clock input
  drivers: crypto: meson: add MMIO helpers
  drivers: crypto: meson: move get_engine_number()
  drivers: crypto: meson: drop status field from meson_flow
  drivers: crypto: meson: move algs definition and cipher API to
    cipher.c
  drivers: crypto: meson: cleanup defines
  drivers: crypto: meson: process more than MAXDESCS descriptors
  drivers: crypto: meson: avoid kzalloc in engine thread
  drivers: crypto: meson: introduce hasher
  drivers: crypto: meson: add support for AES-CTR
  drivers: crypto: meson: use fallback for 192-bit keys
  drivers: crypto: meson: add support for G12-series
  drivers: crypto: meson: add support for AXG-series
  drivers: crypto: meson: add support for A1-series
  dt-bindings: crypto: meson: remove clk and second interrupt line for
    GXL
  arch: arm64: dts: meson: gxl: correct crypto node definition
  dt-bindings: crypto: meson: support new SoC's
  arch: arm64: dts: meson: a1: add crypto node
  arch: arm64: dts: meson: s4: add crypto node
  arch: arm64: dts: meson: g12: add crypto node
  arch: arm64: dts: meson: axg: add crypto node

 .../bindings/crypto/amlogic,gxl-crypto.yaml   |  24 +-
 arch/arm64/boot/dts/amlogic/meson-a1.dtsi     |   7 +
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi    |   6 +
 .../boot/dts/amlogic/meson-g12-common.dtsi    |   6 +
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi    |   5 +-
 arch/arm64/boot/dts/amlogic/meson-s4.dtsi     |   6 +
 drivers/crypto/amlogic/Makefile               |   2 +-
 drivers/crypto/amlogic/amlogic-gxl-cipher.c   | 617 ++++++++++++------
 drivers/crypto/amlogic/amlogic-gxl-core.c     | 292 +++++----
 drivers/crypto/amlogic/amlogic-gxl-hasher.c   | 460 +++++++++++++
 drivers/crypto/amlogic/amlogic-gxl.h          | 118 +++-
 11 files changed, 1185 insertions(+), 358 deletions(-)
 create mode 100644 drivers/crypto/amlogic/amlogic-gxl-hasher.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 102+ messages in thread

end of thread, other threads:[~2024-04-11  7:40 UTC | newest]

Thread overview: 102+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-26 15:31 [PATCH v6 00/23] Support more Amlogic SoC families in crypto driver Alexey Romanov
2024-03-26 15:31 ` Alexey Romanov
2024-03-26 15:31 ` Alexey Romanov
2024-03-26 15:31 ` [PATCH v6 01/23] drivers: crypto: meson: don't hardcode IRQ count Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:31 ` [PATCH v6 02/23] drviers: crypto: meson: add platform data Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:31 ` [PATCH v6 03/23] drivers: crypto: meson: remove clock input Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:31   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 04/23] drivers: crypto: meson: add MMIO helpers Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 05/23] drivers: crypto: meson: move get_engine_number() Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 06/23] drivers: crypto: meson: drop status field from meson_flow Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 07/23] drivers: crypto: meson: move algs definition and cipher API to cipher.c Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 08/23] drivers: crypto: meson: cleanup defines Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 09/23] drivers: crypto: meson: process more than MAXDESCS descriptors Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 10/23] drivers: crypto: meson: avoid kzalloc in engine thread Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-04-05  6:55   ` Herbert Xu
2024-04-05  6:55     ` Herbert Xu
2024-04-05  6:55     ` Herbert Xu
2024-03-26 15:32 ` [PATCH v6 11/23] drivers: crypto: meson: introduce hasher Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-04-05  6:56   ` Herbert Xu
2024-04-05  6:56     ` Herbert Xu
2024-04-05  6:56     ` Herbert Xu
2024-04-10 10:39     ` Alexey Romanov
2024-04-10 10:39       ` Alexey Romanov
2024-04-10 10:39       ` Alexey Romanov
2024-04-11  7:39       ` Herbert Xu
2024-04-11  7:39         ` Herbert Xu
2024-04-11  7:39         ` Herbert Xu
2024-03-26 15:32 ` [PATCH v6 12/23] drivers: crypto: meson: add support for AES-CTR Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 13/23] drivers: crypto: meson: use fallback for 192-bit keys Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 14/23] drivers: crypto: meson: add support for G12-series Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 15/23] drivers: crypto: meson: add support for AXG-series Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 16/23] drivers: crypto: meson: add support for A1-series Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 17/23] dt-bindings: crypto: meson: remove clk and second interrupt line for GXL Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 18:09   ` Conor Dooley
2024-03-26 18:09     ` Conor Dooley
2024-03-26 18:09     ` Conor Dooley
2024-03-29 11:14     ` Alexey Romanov
2024-03-29 11:14       ` Alexey Romanov
2024-03-29 11:14       ` Alexey Romanov
2024-03-29 11:55       ` Conor Dooley
2024-03-29 11:55         ` Conor Dooley
2024-03-29 11:55         ` Conor Dooley
2024-03-26 15:32 ` [PATCH v6 18/23] arch: arm64: dts: meson: gxl: correct crypto node definition Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 19/23] dt-bindings: crypto: meson: support new SoC's Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 18:04   ` Conor Dooley
2024-03-26 18:04     ` Conor Dooley
2024-03-26 18:04     ` Conor Dooley
2024-03-29 11:16     ` Alexey Romanov
2024-03-29 11:16       ` Alexey Romanov
2024-03-29 11:16       ` Alexey Romanov
2024-03-29 11:58       ` Conor Dooley
2024-03-29 11:58         ` Conor Dooley
2024-03-29 11:58         ` Conor Dooley
2024-03-26 15:32 ` [PATCH v6 20/23] arch: arm64: dts: meson: a1: add crypto node Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 21/23] arch: arm64: dts: meson: s4: " Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 22/23] arch: arm64: dts: meson: g12: " Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32 ` [PATCH v6 23/23] arch: arm64: dts: meson: axg: " Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov
2024-03-26 15:32   ` Alexey Romanov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.