Re: [PATCH v4 00/20] Support more Amlogic SoC families in crypto driver

neil.armstrong
2024-02-12T17:04:31Z

Hi,

On 12/02/2024 14:50, Alexey Romanov wrote:
> 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 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.
>
> 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/
>
> Alexey Romanov (20):
> drivers: crypto: meson: don't hardcode IRQ count
> drviers: crypto: meson: add platform data
> drivers: crypto: meson: make CLK controller optional
> 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
> 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 | 43 +-
> 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-s4.dtsi | 6 +
> drivers/crypto/amlogic/Makefile | 2 +-
> drivers/crypto/amlogic/amlogic-gxl-cipher.c | 602 ++++++++++++------
> drivers/crypto/amlogic/amlogic-gxl-core.c | 290 +++++----
> drivers/crypto/amlogic/amlogic-gxl-hasher.c | 452 +++++++++++++
> drivers/crypto/amlogic/amlogic-gxl.h | 117 +++-
> 10 files changed, 1183 insertions(+), 348 deletions(-)
> create mode 100644 drivers/crypto/amlogic/amlogic-gxl-hasher.c
>

The overall looks fine, I'll wait for further comments on the code,
but the DT looks ok and I didn't find any issues code building
or DT bindings check.

Neil