All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dawid Olesinski <dawidro@gmail.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
	"David S . Miller" <davem@davemloft.net>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>
Cc: Diederik de Haas <diederik@cknow-tech.com>,
	Eric Biggers <ebiggers@kernel.org>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Conor Dooley <conor+dt@kernel.org>,
	Corentin Labbe <clabbe@baylibre.com>,
	linux-crypto@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Dawid Olesinski <dawidro@gmail.com>
Subject: [PATCH v3 0/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader
Date: Sun, 16 Aug 2026 20:39:43 +0100	[thread overview]
Message-ID: <20260816194112.552100-1-dawidro@gmail.com> (raw)
In-Reply-To: <20260708175837.1718437-1-dawidro@gmail.com>

This series adds support for the second-generation (V2) Rockchip
cryptographic hardware accelerator found on RK3568 and RK3588 SoCs.

The IP block provides AES (ECB, CBC, XTS) and hash (SHA-1, SHA-256,
SHA-384, SHA-512, MD5, SM3) offload via an LLI-based DMA engine.

The series is ordered as required: binding first, then driver, then
the two DTS nodes that reference the binding.

A prerequisite patch removing SECURECRU reset definitions from the
non-secure CRU driver is sent separately to the clk/reset tree, as it
touches a different subsystem. That patch is not a hard dependency for
the driver to build or load, but it is needed for correctness on RK3588:
those register offsets map into TrustZone-protected MMIO and must not be
accessed directly by Linux.

This work started from unmerged patches by Corentin Labbe
<clabbe@baylibre.com> posted at:
https://patchew.org/linux/20231107155532.3747113-1-clabbe@baylibre.com/

The implementation has been substantially reworked. Notable changes from
Corentin's original series:
  - DMA descriptor race condition and DMA mapping leak on timeout fixed
  - Per-device algorithm copy replaces global device list, removing a
    locking bottleneck and correctly supporting multiple instances
  - Runtime PM autosuspend added; clocks and reset gated between requests
  - Multi-SG hash requests routed to software fallback (hardware padding
    engine requires total message length upfront and cannot maintain
    state across LLI boundaries)
  - Hardware interrupt enable register write corrected to use the
    HIWORD_UPDATE mask that the hardware requires
  - Software fallback for all registered algorithms; statesize promotion
    for export/import compatibility with ARM Crypto Extensions drivers
  - SCMI reset and clock references in DTS corrected for RK3588

Tested-by: Diederik de Haas <diederik@cknow-tech.com>
Quartz64-B (RK3566), NanoPi R5S (RK3568), NanoPC-T6 LTS (RK3588)

Tested on Orange Pi 5 Pro (RK3588S) and Banana Pi R2 Pro (RK3568).

All ten algorithm selftests pass. AES-CBC throughput measured
at ~100 MiB/s with cryptsetup. PM autosuspend/resume verified over 1000
consecutive hash requests with no errors. 20 modprobe/rmmod cycles
produce no DMA coherent memory leaks.

Patch series for the crypto subsystem:
  [1/4] dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine
  binding
  [2/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver
  [3/4] arm64: dts: rockchip: Add crypto node to rk356x-base
  [4/4] arm64: dts: rockchip: Add crypto node to rk3588-base

Separate patch for clk/reset tree:
  clk: rockchip: rk3588: Remove SECURECRU reset definitions

Changes in v3:
  Device tree binding (Sebastian Reichel, Heiko Stübner, sashiko-bot):
    - Merge the compatibles: rk3588-crypto now falls back to
      rk3568-crypto (oneOf schema). The driver binds only against
      rockchip,rk3568-crypto; the rk3588 string is reserved for future
      quirks.
    - Allow up to three reset lines (core/aclk/hclk) instead of a single
      reset, so a complete node describing the AXI and AHB resets
      validates.
    - Drop "status = disabled" from the crypto nodes in both
      rk356x-base.dtsi and rk3588-base.dtsi; the block needs no
      board-specific resources.

  Driver (sashiko-bot):
    - Add SYSTEM_SLEEP_PM_OPS (pm_runtime_force_suspend /
      pm_runtime_force_resume) so the hardware is suspended correctly
      across system sleep even inside the autosuspend window.
    - Guard the interrupt handler with pm_runtime_get_if_active() and
      balance pm_runtime_put() on all return paths, preventing register
      access to unclocked hardware during the teardown window.
    - Allocate the per-device algorithm array with kmemdup() instead of
      devm_kmemdup() and free it explicitly in remove() after the engine
      is drained and algorithms are unregistered, so the templates
      outlive any in-flight teardown.
    - Drop the explicit crypto_engine_stop() in remove(); rely on
      crypto_engine_exit() to stop and synchronously drain the kworker.
    - On skcipher DMA timeout, assert reset and synchronize_irq() before
      unmapping the scatterlists, so delayed hardware cannot write to
      unmapped memory.
    - Add CRYPTO_ALG_TYPE_AHASH support to rk2_crypto_debugfs_stats_show()
      to print request and fallback counters for hash algorithms.

  Driver - cleanup (Diederik de Haas):
    - Remove the redundant is_xts template field; test
      rk2_mode == RK2_CRYPTO_AES_XTS directly.

  Driver — correctness and robustness (review round 2):
    - Use explicit 32-bit DMA address handling: wrap sg_dma_address()
      and the LLI base in lower_32_bits() for both the skcipher and
      hash descriptor programming, making the hardware's 32-bit
      limitation explicit and silencing sparse on 64-bit builds.
    - Fix AES-XTS IV handling: req->iv is the XTS tweak, not a CBC-style
      chaining IV, so it must not be overwritten with ciphertext. Gate
      the backup_iv save/restore on a single update_iv flag that
      excludes XTS, leaving the tweak untouched across chained requests.
    - Zero ctx->key (memzero_explicit) and reset keylen when the
      fallback setkey fails, for both rk2_aes_setkey() and
      rk2_aes_xts_setkey().
    - Harden the IRQ/PM suspend path: mask and clear DMA interrupts in
      rk2_crypto_pm_suspend() and re-clear/re-enable them in
      rk2_crypto_pm_resume(), so a pending level-triggered interrupt in
      the suspend window cannot storm.
    - Use crypto_skcipher_set_reqsize() / crypto_ahash_set_reqsize()
      instead of assigning tfm->reqsize directly.
    - Align DMA interrupt bit names in rk2_crypto.h (bits 1–6) with the TRM
      v1.0 specification.
    - Update rk2_crypto_irq_handle() inline comment to reference
      DST_ITEM_DONE and SRC_ITEM_DONE.

  Driver — cleanup:
    - Simplify the hash path to a single scatterlist element (multi-SG
      hash already falls back), removing the now-dead LLI loop.
    - Name the AES-192 capability bit (RK2_AES_VER_SUPP_192) and comment
      it, instead of a bare BIT(17) in the debug info dump.

v2: https://lore.kernel.org/r/20260708175837.1718437-1-dawidro@gmail.com

Changes in v2:
 - dt-bindings: wrap example in a bus node with #address/#size-cells = 2
   and add the SCMI clock/reset dt-binding includes so dt_binding_check
   passes (Rob Herring / Krzysztof Kozlowski review).
 - crypto: fix Kconfig to select CRYPTO_SM3 instead of the non-existent
   CRYPTO_SM3_GENERIC.
 - crypto: drop IRQF_SHARED (the line is dedicated) and request the IRQ
   only after clocks are enabled and the completion is initialised;
   reorder probe accordingly.
 - crypto: set a 32-bit DMA mask before allocating the descriptor table.
 - crypto: suspend the device explicitly on removal before disabling
   runtime PM to avoid leaking clocks.
 - crypto: call synchronize_irq() on the DMA timeout paths to close a
   race with delayed interrupts.
 - crypto: convert fallback statistics to atomic_long_t.
 - crypto: use cpu_to_le32() for all LLI descriptor fields (big-endian
   correctness).
 - crypto: read key/IV with get_unaligned_be32() to fix an alignment
   fault and a big-endian double-swap.
 - crypto: fix the CBC/XTS IV backup offset to use the processed length
   instead of the scatterlist capacity.
 - arm64: dts: rk356x: move the crypto node into unit-address order.

v1: https://lore.kernel.org/r/20260530160704.3453555-1-dawidro@gmail.com/

Build/rebase fixes (not from review):
 - crypto: use sizeof(struct sm3_ctx) for the SM3 statesize, as
   struct sm3_state was removed by the lib/crypto SM3 conversion.
 - crypto: add the missing SHA-224 zero-message case.

Dawid Olesinski (4):
  dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine binding
  crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver
  arm64: dts: rockchip: Add crypto node to rk356x-base
  arm64: dts: rockchip: Add crypto node to rk3588-base

 .../crypto/rockchip,rk3588-crypto.yaml        |  83 ++
 MAINTAINERS                                   |   2 +
 arch/arm64/boot/dts/rockchip/rk356x-base.dtsi |  11 +
 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi |  11 +
 drivers/crypto/Kconfig                        |  32 +
 drivers/crypto/Makefile                       |   1 +
 drivers/crypto/rockchip/Makefile              |   5 +
 drivers/crypto/rockchip/rk2_crypto.c          | 783 ++++++++++++++++++
 drivers/crypto/rockchip/rk2_crypto.h          | 254 ++++++
 drivers/crypto/rockchip/rk2_crypto_ahash.c    | 541 ++++++++++++
 drivers/crypto/rockchip/rk2_crypto_skcipher.c | 740 +++++++++++++++++
 11 files changed, 2463 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml
 create mode 100644 drivers/crypto/rockchip/rk2_crypto.c
 create mode 100644 drivers/crypto/rockchip/rk2_crypto.h
 create mode 100644 drivers/crypto/rockchip/rk2_crypto_ahash.c
 create mode 100644 drivers/crypto/rockchip/rk2_crypto_skcipher.c

-- 
2.47.3


WARNING: multiple messages have this Message-ID (diff)
From: Dawid Olesinski <dawidro@gmail.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
	"David S . Miller" <davem@davemloft.net>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>
Cc: Diederik de Haas <diederik@cknow-tech.com>,
	Eric Biggers <ebiggers@kernel.org>,
	Sebastian Reichel <sebastian.reichel@collabora.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Conor Dooley <conor+dt@kernel.org>,
	Corentin Labbe <clabbe@baylibre.com>,
	linux-crypto@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
	Dawid Olesinski <dawidro@gmail.com>
Subject: [PATCH v3 0/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader
Date: Sun, 16 Aug 2026 20:39:43 +0100	[thread overview]
Message-ID: <20260816194112.552100-1-dawidro@gmail.com> (raw)
In-Reply-To: <20260708175837.1718437-1-dawidro@gmail.com>

This series adds support for the second-generation (V2) Rockchip
cryptographic hardware accelerator found on RK3568 and RK3588 SoCs.

The IP block provides AES (ECB, CBC, XTS) and hash (SHA-1, SHA-256,
SHA-384, SHA-512, MD5, SM3) offload via an LLI-based DMA engine.

The series is ordered as required: binding first, then driver, then
the two DTS nodes that reference the binding.

A prerequisite patch removing SECURECRU reset definitions from the
non-secure CRU driver is sent separately to the clk/reset tree, as it
touches a different subsystem. That patch is not a hard dependency for
the driver to build or load, but it is needed for correctness on RK3588:
those register offsets map into TrustZone-protected MMIO and must not be
accessed directly by Linux.

This work started from unmerged patches by Corentin Labbe
<clabbe@baylibre.com> posted at:
https://patchew.org/linux/20231107155532.3747113-1-clabbe@baylibre.com/

The implementation has been substantially reworked. Notable changes from
Corentin's original series:
  - DMA descriptor race condition and DMA mapping leak on timeout fixed
  - Per-device algorithm copy replaces global device list, removing a
    locking bottleneck and correctly supporting multiple instances
  - Runtime PM autosuspend added; clocks and reset gated between requests
  - Multi-SG hash requests routed to software fallback (hardware padding
    engine requires total message length upfront and cannot maintain
    state across LLI boundaries)
  - Hardware interrupt enable register write corrected to use the
    HIWORD_UPDATE mask that the hardware requires
  - Software fallback for all registered algorithms; statesize promotion
    for export/import compatibility with ARM Crypto Extensions drivers
  - SCMI reset and clock references in DTS corrected for RK3588

Tested-by: Diederik de Haas <diederik@cknow-tech.com>
Quartz64-B (RK3566), NanoPi R5S (RK3568), NanoPC-T6 LTS (RK3588)

Tested on Orange Pi 5 Pro (RK3588S) and Banana Pi R2 Pro (RK3568).

All ten algorithm selftests pass. AES-CBC throughput measured
at ~100 MiB/s with cryptsetup. PM autosuspend/resume verified over 1000
consecutive hash requests with no errors. 20 modprobe/rmmod cycles
produce no DMA coherent memory leaks.

Patch series for the crypto subsystem:
  [1/4] dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine
  binding
  [2/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver
  [3/4] arm64: dts: rockchip: Add crypto node to rk356x-base
  [4/4] arm64: dts: rockchip: Add crypto node to rk3588-base

Separate patch for clk/reset tree:
  clk: rockchip: rk3588: Remove SECURECRU reset definitions

Changes in v3:
  Device tree binding (Sebastian Reichel, Heiko Stübner, sashiko-bot):
    - Merge the compatibles: rk3588-crypto now falls back to
      rk3568-crypto (oneOf schema). The driver binds only against
      rockchip,rk3568-crypto; the rk3588 string is reserved for future
      quirks.
    - Allow up to three reset lines (core/aclk/hclk) instead of a single
      reset, so a complete node describing the AXI and AHB resets
      validates.
    - Drop "status = disabled" from the crypto nodes in both
      rk356x-base.dtsi and rk3588-base.dtsi; the block needs no
      board-specific resources.

  Driver (sashiko-bot):
    - Add SYSTEM_SLEEP_PM_OPS (pm_runtime_force_suspend /
      pm_runtime_force_resume) so the hardware is suspended correctly
      across system sleep even inside the autosuspend window.
    - Guard the interrupt handler with pm_runtime_get_if_active() and
      balance pm_runtime_put() on all return paths, preventing register
      access to unclocked hardware during the teardown window.
    - Allocate the per-device algorithm array with kmemdup() instead of
      devm_kmemdup() and free it explicitly in remove() after the engine
      is drained and algorithms are unregistered, so the templates
      outlive any in-flight teardown.
    - Drop the explicit crypto_engine_stop() in remove(); rely on
      crypto_engine_exit() to stop and synchronously drain the kworker.
    - On skcipher DMA timeout, assert reset and synchronize_irq() before
      unmapping the scatterlists, so delayed hardware cannot write to
      unmapped memory.
    - Add CRYPTO_ALG_TYPE_AHASH support to rk2_crypto_debugfs_stats_show()
      to print request and fallback counters for hash algorithms.

  Driver - cleanup (Diederik de Haas):
    - Remove the redundant is_xts template field; test
      rk2_mode == RK2_CRYPTO_AES_XTS directly.

  Driver — correctness and robustness (review round 2):
    - Use explicit 32-bit DMA address handling: wrap sg_dma_address()
      and the LLI base in lower_32_bits() for both the skcipher and
      hash descriptor programming, making the hardware's 32-bit
      limitation explicit and silencing sparse on 64-bit builds.
    - Fix AES-XTS IV handling: req->iv is the XTS tweak, not a CBC-style
      chaining IV, so it must not be overwritten with ciphertext. Gate
      the backup_iv save/restore on a single update_iv flag that
      excludes XTS, leaving the tweak untouched across chained requests.
    - Zero ctx->key (memzero_explicit) and reset keylen when the
      fallback setkey fails, for both rk2_aes_setkey() and
      rk2_aes_xts_setkey().
    - Harden the IRQ/PM suspend path: mask and clear DMA interrupts in
      rk2_crypto_pm_suspend() and re-clear/re-enable them in
      rk2_crypto_pm_resume(), so a pending level-triggered interrupt in
      the suspend window cannot storm.
    - Use crypto_skcipher_set_reqsize() / crypto_ahash_set_reqsize()
      instead of assigning tfm->reqsize directly.
    - Align DMA interrupt bit names in rk2_crypto.h (bits 1–6) with the TRM
      v1.0 specification.
    - Update rk2_crypto_irq_handle() inline comment to reference
      DST_ITEM_DONE and SRC_ITEM_DONE.

  Driver — cleanup:
    - Simplify the hash path to a single scatterlist element (multi-SG
      hash already falls back), removing the now-dead LLI loop.
    - Name the AES-192 capability bit (RK2_AES_VER_SUPP_192) and comment
      it, instead of a bare BIT(17) in the debug info dump.

v2: https://lore.kernel.org/r/20260708175837.1718437-1-dawidro@gmail.com

Changes in v2:
 - dt-bindings: wrap example in a bus node with #address/#size-cells = 2
   and add the SCMI clock/reset dt-binding includes so dt_binding_check
   passes (Rob Herring / Krzysztof Kozlowski review).
 - crypto: fix Kconfig to select CRYPTO_SM3 instead of the non-existent
   CRYPTO_SM3_GENERIC.
 - crypto: drop IRQF_SHARED (the line is dedicated) and request the IRQ
   only after clocks are enabled and the completion is initialised;
   reorder probe accordingly.
 - crypto: set a 32-bit DMA mask before allocating the descriptor table.
 - crypto: suspend the device explicitly on removal before disabling
   runtime PM to avoid leaking clocks.
 - crypto: call synchronize_irq() on the DMA timeout paths to close a
   race with delayed interrupts.
 - crypto: convert fallback statistics to atomic_long_t.
 - crypto: use cpu_to_le32() for all LLI descriptor fields (big-endian
   correctness).
 - crypto: read key/IV with get_unaligned_be32() to fix an alignment
   fault and a big-endian double-swap.
 - crypto: fix the CBC/XTS IV backup offset to use the processed length
   instead of the scatterlist capacity.
 - arm64: dts: rk356x: move the crypto node into unit-address order.

v1: https://lore.kernel.org/r/20260530160704.3453555-1-dawidro@gmail.com/

Build/rebase fixes (not from review):
 - crypto: use sizeof(struct sm3_ctx) for the SM3 statesize, as
   struct sm3_state was removed by the lib/crypto SM3 conversion.
 - crypto: add the missing SHA-224 zero-message case.

Dawid Olesinski (4):
  dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine binding
  crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver
  arm64: dts: rockchip: Add crypto node to rk356x-base
  arm64: dts: rockchip: Add crypto node to rk3588-base

 .../crypto/rockchip,rk3588-crypto.yaml        |  83 ++
 MAINTAINERS                                   |   2 +
 arch/arm64/boot/dts/rockchip/rk356x-base.dtsi |  11 +
 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi |  11 +
 drivers/crypto/Kconfig                        |  32 +
 drivers/crypto/Makefile                       |   1 +
 drivers/crypto/rockchip/Makefile              |   5 +
 drivers/crypto/rockchip/rk2_crypto.c          | 783 ++++++++++++++++++
 drivers/crypto/rockchip/rk2_crypto.h          | 254 ++++++
 drivers/crypto/rockchip/rk2_crypto_ahash.c    | 541 ++++++++++++
 drivers/crypto/rockchip/rk2_crypto_skcipher.c | 740 +++++++++++++++++
 11 files changed, 2463 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3588-crypto.yaml
 create mode 100644 drivers/crypto/rockchip/rk2_crypto.c
 create mode 100644 drivers/crypto/rockchip/rk2_crypto.h
 create mode 100644 drivers/crypto/rockchip/rk2_crypto_ahash.c
 create mode 100644 drivers/crypto/rockchip/rk2_crypto_skcipher.c

-- 
2.47.3


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  parent reply	other threads:[~2026-08-16 19:41 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-08 17:58 [PATCH v2 0/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader Dawid Olesinski
2026-07-08 17:58 ` Dawid Olesinski
2026-07-08 17:58 ` [PATCH v2 1/4] dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine binding Dawid Olesinski
2026-07-08 17:58   ` Dawid Olesinski
2026-07-08 18:13   ` sashiko-bot
2026-07-08 23:53   ` Sebastian Reichel
2026-07-08 23:53     ` Sebastian Reichel
2026-07-08 17:58 ` [PATCH v2 2/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver Dawid Olesinski
2026-07-08 17:58   ` Dawid Olesinski
2026-07-08 18:13   ` sashiko-bot
2026-07-08 17:58 ` [PATCH v2 3/4] arm64: dts: rockchip: Add crypto node to rk356x-base Dawid Olesinski
2026-07-08 17:58   ` Dawid Olesinski
2026-07-08 23:56   ` Sebastian Reichel
2026-07-08 23:56     ` Sebastian Reichel
2026-07-09  7:07     ` Heiko Stübner
2026-07-09  7:07       ` Heiko Stübner
2026-07-10 14:30       ` Dawid Olesinski
2026-07-10 14:30         ` Dawid Olesinski
2026-07-25 14:13         ` Diederik de Haas
2026-07-25 14:13           ` Diederik de Haas
2026-07-08 17:58 ` [PATCH v2 4/4] arm64: dts: rockchip: Add crypto node to rk3588-base Dawid Olesinski
2026-07-08 17:58   ` Dawid Olesinski
2026-08-03 10:42 ` [PATCH v2 0/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader Diederik de Haas
2026-08-03 10:42   ` Diederik de Haas
2026-08-16 19:39 ` Dawid Olesinski [this message]
2026-08-16 19:39   ` [PATCH v3 " Dawid Olesinski
2026-08-16 19:39   ` [PATCH v3 1/4] dt-bindings: crypto: rockchip: Add RK356x/RK3588 crypto engine binding Dawid Olesinski
2026-08-16 19:39     ` Dawid Olesinski
2026-08-16 19:49     ` sashiko-bot
2026-08-16 19:39   ` [PATCH v3 2/4] crypto: rockchip: Add RK356x/RK3588 cryptographic offloader driver Dawid Olesinski
2026-08-16 19:39     ` Dawid Olesinski
2026-08-16 19:56     ` sashiko-bot
2026-08-16 19:39   ` [PATCH v3 3/4] arm64: dts: rockchip: Add crypto node to rk356x-base Dawid Olesinski
2026-08-16 19:39     ` Dawid Olesinski
2026-08-16 19:48     ` sashiko-bot
2026-08-16 19:39   ` [PATCH v3 4/4] arm64: dts: rockchip: Add crypto node to rk3588-base Dawid Olesinski
2026-08-16 19:39     ` Dawid Olesinski
2026-08-16 19:51     ` sashiko-bot

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=20260816194112.552100-1-dawidro@gmail.com \
    --to=dawidro@gmail.com \
    --cc=clabbe@baylibre.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=diederik@cknow-tech.com \
    --cc=ebiggers@kernel.org \
    --cc=heiko@sntech.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sebastian.reichel@collabora.com \
    /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 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.