All of lore.kernel.org
 help / color / mirror / Atom feed
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 13/23] drivers: crypto: meson: use fallback for 192-bit keys
Date: Thu, 11 Apr 2024 16:38:22 +0300	[thread overview]
Message-ID: <20240411133832.2896463-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240411133832.2896463-1-avromanov@salutedevices.com>

Unforunately, not all Amlogic SoC's have a 192-bit key
support for AES algo. In this case, use fallback.

Signed-off-by: Alexey Romanov <avromanov@salutedevices.com>
---
 drivers/crypto/amlogic/amlogic-gxl-cipher.c | 7 +++++++
 drivers/crypto/amlogic/amlogic-gxl-core.c   | 1 +
 drivers/crypto/amlogic/amlogic-gxl.h        | 2 ++
 3 files changed, 10 insertions(+)

diff --git a/drivers/crypto/amlogic/amlogic-gxl-cipher.c b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
index 14621495de84..30f248ca31c7 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-cipher.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
@@ -41,6 +41,13 @@ static bool meson_cipher_need_fallback_sg(struct skcipher_request *areq,
 
 static bool meson_cipher_need_fallback(struct skcipher_request *areq)
 {
+	struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq);
+	struct meson_cipher_tfm_ctx *op = crypto_skcipher_ctx_dma(tfm);
+	struct meson_dev *mc = op->mc;
+
+	if (op->keymode == DESC_MODE_AES_192 && !mc->pdata->support_192bit_key)
+		return true;
+
 	if (areq->cryptlen == 0)
 		return true;
 
diff --git a/drivers/crypto/amlogic/amlogic-gxl-core.c b/drivers/crypto/amlogic/amlogic-gxl-core.c
index 2c8387906655..4acacd925a21 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -283,6 +283,7 @@ static const struct meson_pdata meson_gxl_pdata = {
 	.setup_desc_cnt = 3,
 	.hasher_supported = false,
 	.reverse_keyiv = true,
+	.support_192bit_key = true,
 };
 
 static const struct of_device_id meson_crypto_of_match_table[] = {
diff --git a/drivers/crypto/amlogic/amlogic-gxl.h b/drivers/crypto/amlogic/amlogic-gxl.h
index 2eee3e0ea0b2..86dd9f10debe 100644
--- a/drivers/crypto/amlogic/amlogic-gxl.h
+++ b/drivers/crypto/amlogic/amlogic-gxl.h
@@ -98,6 +98,7 @@ struct meson_flow {
  * @reg_status:	offset to status register
  * @setup_desc_cnt:	number of setup descriptor to configure.
  * @hasher_supported:	indecates whether hasher is supported.
+ * @support_192bit_key:	indicates whether platform support AES 192-bit key
  */
 struct meson_pdata {
 	u32 descs_reg;
@@ -105,6 +106,7 @@ struct meson_pdata {
 	u32 setup_desc_cnt;
 	bool hasher_supported;
 	bool reverse_keyiv;
+	bool support_192bit_key;
 };
 
 /*
-- 
2.34.1


WARNING: multiple messages have this Message-ID (diff)
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 13/23] drivers: crypto: meson: use fallback for 192-bit keys
Date: Thu, 11 Apr 2024 16:38:22 +0300	[thread overview]
Message-ID: <20240411133832.2896463-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240411133832.2896463-1-avromanov@salutedevices.com>

Unforunately, not all Amlogic SoC's have a 192-bit key
support for AES algo. In this case, use fallback.

Signed-off-by: Alexey Romanov <avromanov@salutedevices.com>
---
 drivers/crypto/amlogic/amlogic-gxl-cipher.c | 7 +++++++
 drivers/crypto/amlogic/amlogic-gxl-core.c   | 1 +
 drivers/crypto/amlogic/amlogic-gxl.h        | 2 ++
 3 files changed, 10 insertions(+)

diff --git a/drivers/crypto/amlogic/amlogic-gxl-cipher.c b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
index 14621495de84..30f248ca31c7 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-cipher.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
@@ -41,6 +41,13 @@ static bool meson_cipher_need_fallback_sg(struct skcipher_request *areq,
 
 static bool meson_cipher_need_fallback(struct skcipher_request *areq)
 {
+	struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq);
+	struct meson_cipher_tfm_ctx *op = crypto_skcipher_ctx_dma(tfm);
+	struct meson_dev *mc = op->mc;
+
+	if (op->keymode == DESC_MODE_AES_192 && !mc->pdata->support_192bit_key)
+		return true;
+
 	if (areq->cryptlen == 0)
 		return true;
 
diff --git a/drivers/crypto/amlogic/amlogic-gxl-core.c b/drivers/crypto/amlogic/amlogic-gxl-core.c
index 2c8387906655..4acacd925a21 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -283,6 +283,7 @@ static const struct meson_pdata meson_gxl_pdata = {
 	.setup_desc_cnt = 3,
 	.hasher_supported = false,
 	.reverse_keyiv = true,
+	.support_192bit_key = true,
 };
 
 static const struct of_device_id meson_crypto_of_match_table[] = {
diff --git a/drivers/crypto/amlogic/amlogic-gxl.h b/drivers/crypto/amlogic/amlogic-gxl.h
index 2eee3e0ea0b2..86dd9f10debe 100644
--- a/drivers/crypto/amlogic/amlogic-gxl.h
+++ b/drivers/crypto/amlogic/amlogic-gxl.h
@@ -98,6 +98,7 @@ struct meson_flow {
  * @reg_status:	offset to status register
  * @setup_desc_cnt:	number of setup descriptor to configure.
  * @hasher_supported:	indecates whether hasher is supported.
+ * @support_192bit_key:	indicates whether platform support AES 192-bit key
  */
 struct meson_pdata {
 	u32 descs_reg;
@@ -105,6 +106,7 @@ struct meson_pdata {
 	u32 setup_desc_cnt;
 	bool hasher_supported;
 	bool reverse_keyiv;
+	bool support_192bit_key;
 };
 
 /*
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
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 13/23] drivers: crypto: meson: use fallback for 192-bit keys
Date: Thu, 11 Apr 2024 16:38:22 +0300	[thread overview]
Message-ID: <20240411133832.2896463-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240411133832.2896463-1-avromanov@salutedevices.com>

Unforunately, not all Amlogic SoC's have a 192-bit key
support for AES algo. In this case, use fallback.

Signed-off-by: Alexey Romanov <avromanov@salutedevices.com>
---
 drivers/crypto/amlogic/amlogic-gxl-cipher.c | 7 +++++++
 drivers/crypto/amlogic/amlogic-gxl-core.c   | 1 +
 drivers/crypto/amlogic/amlogic-gxl.h        | 2 ++
 3 files changed, 10 insertions(+)

diff --git a/drivers/crypto/amlogic/amlogic-gxl-cipher.c b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
index 14621495de84..30f248ca31c7 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-cipher.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-cipher.c
@@ -41,6 +41,13 @@ static bool meson_cipher_need_fallback_sg(struct skcipher_request *areq,
 
 static bool meson_cipher_need_fallback(struct skcipher_request *areq)
 {
+	struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq);
+	struct meson_cipher_tfm_ctx *op = crypto_skcipher_ctx_dma(tfm);
+	struct meson_dev *mc = op->mc;
+
+	if (op->keymode == DESC_MODE_AES_192 && !mc->pdata->support_192bit_key)
+		return true;
+
 	if (areq->cryptlen == 0)
 		return true;
 
diff --git a/drivers/crypto/amlogic/amlogic-gxl-core.c b/drivers/crypto/amlogic/amlogic-gxl-core.c
index 2c8387906655..4acacd925a21 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -283,6 +283,7 @@ static const struct meson_pdata meson_gxl_pdata = {
 	.setup_desc_cnt = 3,
 	.hasher_supported = false,
 	.reverse_keyiv = true,
+	.support_192bit_key = true,
 };
 
 static const struct of_device_id meson_crypto_of_match_table[] = {
diff --git a/drivers/crypto/amlogic/amlogic-gxl.h b/drivers/crypto/amlogic/amlogic-gxl.h
index 2eee3e0ea0b2..86dd9f10debe 100644
--- a/drivers/crypto/amlogic/amlogic-gxl.h
+++ b/drivers/crypto/amlogic/amlogic-gxl.h
@@ -98,6 +98,7 @@ struct meson_flow {
  * @reg_status:	offset to status register
  * @setup_desc_cnt:	number of setup descriptor to configure.
  * @hasher_supported:	indecates whether hasher is supported.
+ * @support_192bit_key:	indicates whether platform support AES 192-bit key
  */
 struct meson_pdata {
 	u32 descs_reg;
@@ -105,6 +106,7 @@ struct meson_pdata {
 	u32 setup_desc_cnt;
 	bool hasher_supported;
 	bool reverse_keyiv;
+	bool support_192bit_key;
 };
 
 /*
-- 
2.34.1


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

  parent reply	other threads:[~2024-04-11 13:39 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-11 13:38 [PATCH v7 00/23] Support more Amlogic SoC families in crypto driver Alexey Romanov
2024-04-11 13:38 ` Alexey Romanov
2024-04-11 13:38 ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 01/23] drivers: crypto: meson: don't hardcode IRQ count Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 02/23] drviers: crypto: meson: add platform data Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 03/23] drivers: crypto: meson: remove clock input Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 04/23] drivers: crypto: meson: add MMIO helpers Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 08/23] drivers: crypto: meson: cleanup defines Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 11/23] drivers: crypto: meson: introduce hasher Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` Alexey Romanov [this message]
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   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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   ` Alexey Romanov
2024-04-11 13:38   ` 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-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-15 16:43   ` Conor Dooley
2024-04-15 16:43     ` Conor Dooley
2024-04-15 16:43     ` Conor Dooley
2024-05-06 13:48     ` Alexey Romanov
2024-05-06 13:48       ` Alexey Romanov
2024-05-06 13:48       ` Alexey Romanov
2024-05-06 15:47       ` Conor Dooley
2024-05-06 15:47         ` Conor Dooley
2024-05-06 15:47         ` 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   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 19/23] dt-bindings: crypto: meson: support new SoC's Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-15 16:44   ` Conor Dooley
2024-04-15 16:44     ` Conor Dooley
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   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 21/23] arch: arm64: dts: meson: s4: " Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 22/23] arch: arm64: dts: meson: g12: " Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38 ` [PATCH v7 23/23] arch: arm64: dts: meson: axg: " Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-11 13:38   ` Alexey Romanov
2024-04-12  2:53 ` [PATCH v7 00/23] Support more Amlogic SoC families in crypto driver Herbert Xu
2024-04-12  2:53   ` Herbert Xu
2024-04-12  2:53   ` Herbert Xu
2024-04-12  8:19   ` Alexey Romanov
2024-04-12  8:19     ` Alexey Romanov
2024-04-12  8:19     ` Alexey Romanov
2024-04-12  8:22     ` Herbert Xu
2024-04-12  8:22       ` Herbert Xu
2024-04-12  8:22       ` Herbert Xu
2024-04-12  8:25       ` Alexey Romanov
2024-04-12  8:25         ` Alexey Romanov
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-14-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 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.