From: Alexey Romanov <avromanov@salutedevices.com>
To: <neil.armstrong@linaro.org>, <clabbe@baylibre.com>,
<herbert@gondor.apana.org.au>, <davem@davemloft.net>,
<robh+dt@kernel.org>, <krzysztof.kozlowski+dt@linaro.org>,
<conor+dt@kernel.org>, <khilman@baylibre.com>,
<jbrunet@baylibre.com>, <martin.blumenstingl@googlemail.com>,
<vadim.fedorenko@linux.dev>
Cc: <linux-crypto@vger.kernel.org>,
<linux-amlogic@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<kernel@salutedevices.com>,
Alexey Romanov <avromanov@salutedevices.com>
Subject: [PATCH v7 00/23] Support more Amlogic SoC families in crypto driver
Date: Thu, 11 Apr 2024 16:38:09 +0300 [thread overview]
Message-ID: <20240411133832.2896463-1-avromanov@salutedevices.com> (raw)
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.
Changes V6 -> V7 [9]:
- Fix dt-schema: power domain now required only for A1.
- Use crypto_skcipher_ctx_dma() helper for cipher instead of
____cacheline_aligned.
- Add import/export functions for hasher.
- Fix commit message for patch 17, acorrding to discussion [10].
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/
- [9] https://lore.kernel.org/all/20240326153219.2915080-1-avromanov@salutedevices.com/
- [10] https://lore.kernel.org/all/20240329-dotted-illusive-9f0593805a05@wendy/
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 | 33 +-
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 | 629 ++++++++++++------
drivers/crypto/amlogic/amlogic-gxl-core.c | 292 ++++----
drivers/crypto/amlogic/amlogic-gxl-hasher.c | 482 ++++++++++++++
drivers/crypto/amlogic/amlogic-gxl.h | 116 +++-
11 files changed, 1221 insertions(+), 363 deletions(-)
create mode 100644 drivers/crypto/amlogic/amlogic-gxl-hasher.c
--
2.34.1
next reply other threads:[~2024-04-11 13:38 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-11 13:38 Alexey Romanov [this message]
2024-04-11 13:38 ` [PATCH v7 01/23] drivers: crypto: meson: don't hardcode IRQ count Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 02/23] drviers: crypto: meson: add platform data Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 03/23] drivers: crypto: meson: remove clock input Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 04/23] drivers: crypto: meson: add MMIO helpers Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 05/23] drivers: crypto: meson: move get_engine_number() Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 06/23] drivers: crypto: meson: drop status field from meson_flow Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 07/23] drivers: crypto: meson: move algs definition and cipher API to cipher.c Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 08/23] drivers: crypto: meson: cleanup defines Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 09/23] drivers: crypto: meson: process more than MAXDESCS descriptors Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 10/23] drivers: crypto: meson: avoid kzalloc in engine thread Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 11/23] drivers: crypto: meson: introduce hasher Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 12/23] drivers: crypto: meson: add support for AES-CTR Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 13/23] drivers: crypto: meson: use fallback for 192-bit keys Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 14/23] drivers: crypto: meson: add support for G12-series Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 15/23] drivers: crypto: meson: add support for AXG-series Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 16/23] drivers: crypto: meson: add support for A1-series Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 17/23] dt-bindings: crypto: meson: remove clk and second interrupt line for GXL Alexey Romanov
2024-04-15 16:43 ` Conor Dooley
2024-05-06 13:48 ` Alexey Romanov
2024-05-06 15:47 ` Conor Dooley
2024-05-23 10:46 ` Alexey Romanov
2024-05-23 14:37 ` Conor Dooley
2024-04-11 13:38 ` [PATCH v7 18/23] arch: arm64: dts: meson: gxl: correct crypto node definition Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 19/23] dt-bindings: crypto: meson: support new SoC's Alexey Romanov
2024-04-15 16:44 ` Conor Dooley
2024-04-11 13:38 ` [PATCH v7 20/23] arch: arm64: dts: meson: a1: add crypto node Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 21/23] arch: arm64: dts: meson: s4: " Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 22/23] arch: arm64: dts: meson: g12: " Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 23/23] arch: arm64: dts: meson: axg: " Alexey Romanov
2024-04-12 2:53 ` [PATCH v7 00/23] Support more Amlogic SoC families in crypto driver Herbert Xu
2024-04-12 8:19 ` Alexey Romanov
2024-04-12 8:22 ` Herbert Xu
2024-04-12 8:25 ` Alexey Romanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240411133832.2896463-1-avromanov@salutedevices.com \
--to=avromanov@salutedevices.com \
--cc=clabbe@baylibre.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=jbrunet@baylibre.com \
--cc=kernel@salutedevices.com \
--cc=khilman@baylibre.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=neil.armstrong@linaro.org \
--cc=robh+dt@kernel.org \
--cc=vadim.fedorenko@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).