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 v5 13/21] drivers: crypto: meson: use fallback for 192-bit keys
Date: Fri, 1 Mar 2024 16:29:28 +0300	[thread overview]
Message-ID: <20240301132936.621238-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240301132936.621238-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 698868fe2502..3057a5ab3acf 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(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 c3cec58cf443..e841ce25de67 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -291,6 +291,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 de11e174f03d..01913daf1bf4 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 v5 13/21] drivers: crypto: meson: use fallback for 192-bit keys
Date: Fri, 1 Mar 2024 16:29:28 +0300	[thread overview]
Message-ID: <20240301132936.621238-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240301132936.621238-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 698868fe2502..3057a5ab3acf 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(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 c3cec58cf443..e841ce25de67 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -291,6 +291,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 de11e174f03d..01913daf1bf4 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

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 v5 13/21] drivers: crypto: meson: use fallback for 192-bit keys
Date: Fri, 1 Mar 2024 16:29:28 +0300	[thread overview]
Message-ID: <20240301132936.621238-14-avromanov@salutedevices.com> (raw)
In-Reply-To: <20240301132936.621238-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 698868fe2502..3057a5ab3acf 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(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 c3cec58cf443..e841ce25de67 100644
--- a/drivers/crypto/amlogic/amlogic-gxl-core.c
+++ b/drivers/crypto/amlogic/amlogic-gxl-core.c
@@ -291,6 +291,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 de11e174f03d..01913daf1bf4 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

  parent reply	other threads:[~2024-03-01 13:30 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-01 13:29 [PATCH v5 00/21] Support more Amlogic SoC families in crypto driver Alexey Romanov
2024-03-01 13:29 ` Alexey Romanov
2024-03-01 13:29 ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 01/21] drivers: crypto: meson: don't hardcode IRQ count Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 02/21] drviers: crypto: meson: add platform data Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 03/21] drivers: crypto: meson: make CLK controller optional Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 15:21   ` Jerome Brunet
2024-03-01 15:21     ` Jerome Brunet
2024-03-01 15:21     ` Jerome Brunet
2024-03-04 13:49     ` Alexey Romanov
2024-03-04 13:49       ` Alexey Romanov
2024-03-04 13:49       ` Alexey Romanov
2024-03-05 13:47       ` Alexey Romanov
2024-03-05 13:47         ` Alexey Romanov
2024-03-05 13:47         ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 04/21] drivers: crypto: meson: add MMIO helpers Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 05/21] drivers: crypto: meson: move get_engine_number() Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 06/21] drivers: crypto: meson: drop status field from meson_flow Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 07/21] drivers: crypto: meson: move algs definition and cipher API to cipher.c Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 08/21] drivers: crypto: meson: cleanup defines Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 09/21] drivers: crypto: meson: process more than MAXDESCS descriptors Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-22  8:27   ` Corentin Labbe
2024-03-22  8:27     ` Corentin Labbe
2024-03-22  8:27     ` Corentin Labbe
2024-03-22 10:14     ` neil.armstrong
2024-03-22 10:14       ` neil.armstrong
2024-03-22 10:14       ` neil.armstrong
2024-03-01 13:29 ` [PATCH v5 10/21] drivers: crypto: meson: avoid kzalloc in engine thread Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 11/21] drivers: crypto: meson: introduce hasher Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 12/21] drivers: crypto: meson: add support for AES-CTR Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` Alexey Romanov [this message]
2024-03-01 13:29   ` [PATCH v5 13/21] drivers: crypto: meson: use fallback for 192-bit keys Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 14/21] drivers: crypto: meson: add support for G12-series Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 15/21] drivers: crypto: meson: add support for AXG-series Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 16/21] drivers: crypto: meson: add support for A1-series Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 17/21] dt-bindings: crypto: meson: support new SoC's Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 14:56   ` Krzysztof Kozlowski
2024-03-01 14:56     ` Krzysztof Kozlowski
2024-03-01 14:56     ` Krzysztof Kozlowski
2024-03-01 13:29 ` [PATCH v5 18/21] arch: arm64: dts: meson: a1: add crypto node Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 19/21] arch: arm64: dts: meson: s4: " Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 20/21] arch: arm64: dts: meson: g12: " Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29 ` [PATCH v5 21/21] arch: arm64: dts: meson: axg: " Alexey Romanov
2024-03-01 13:29   ` Alexey Romanov
2024-03-01 13:29   ` 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=20240301132936.621238-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.