From: Krzysztof Kozlowski <krzk@kernel.org>
To: Pavitrakumar M <pavitrakumarm@vayavyalabs.com>,
herbert@gondor.apana.org.au, robh@kernel.org,
linux-crypto@vger.kernel.org
Cc: Ruud.Derwig@synopsys.com, manjunath.hadli@vayavyalabs.com,
bhoomikak@vayavyalabs.com
Subject: Re: [PATCH 1/2] Device tree registration and property names changes
Date: Wed, 4 Sep 2024 08:09:25 +0200 [thread overview]
Message-ID: <4b2d796e-222e-4591-b141-eb82811a674d@kernel.org> (raw)
In-Reply-To: <20240904031123.34144-1-pavitrakumarm@vayavyalabs.com>
On 04/09/2024 05:11, Pavitrakumar M wrote:
> This patch fixes Device tree registrations, DT property names and counter width
> checks.
Please do not use "This commit/patch/change", but imperative mood. See
longer explanation here:
https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95
Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597
>
> Signed-off-by: Bhoomika K <bhoomikak@vayavyalabs.com>
> Signed-off-by: Pavitrakumar M <pavitrakumarm@vayavyalabs.com>
> Acked-by: Ruud Derwig <Ruud.Derwig@synopsys.com>
> ---
> drivers/crypto/dwc-spacc/Kconfig | 2 +-
> drivers/crypto/dwc-spacc/spacc_core.c | 4 +-
> drivers/crypto/dwc-spacc/spacc_device.c | 64 ++++++++---------------
> drivers/crypto/dwc-spacc/spacc_device.h | 3 +-
> drivers/crypto/dwc-spacc/spacc_skcipher.c | 29 +++++-----
> 5 files changed, 40 insertions(+), 62 deletions(-)
>
> diff --git a/drivers/crypto/dwc-spacc/Kconfig b/drivers/crypto/dwc-spacc/Kconfig
> index 9eb41a295f9d..bc44c2a61fe7 100644
> --- a/drivers/crypto/dwc-spacc/Kconfig
> +++ b/drivers/crypto/dwc-spacc/Kconfig
> @@ -3,7 +3,7 @@
> config CRYPTO_DEV_SPACC
> tristate "Support for dw_spacc Security protocol accelerators"
> depends on HAS_DMA
> - default m
> + default n
How is it related?
>
> help
> This enables support for the HASH/CRYP/AEAD hw accelerator which can be found
> diff --git a/drivers/crypto/dwc-spacc/spacc_core.c b/drivers/crypto/dwc-spacc/spacc_core.c
> index 1da7cdd93e78..d48e4b9a56af 100644
> --- a/drivers/crypto/dwc-spacc/spacc_core.c
> +++ b/drivers/crypto/dwc-spacc/spacc_core.c
> @@ -1,9 +1,11 @@
> // SPDX-License-Identifier: GPL-2.0
>
> -#include <linux/of_device.h>
> +#include <crypto/skcipher.h>
> +#include <linux/of.h>
> #include <linux/vmalloc.h>
> #include <linux/platform_device.h>
> #include <linux/interrupt.h>
> +#include <linux/dma-mapping.h>
> #include "spacc_hal.h"
> #include "spacc_core.h"
>
> diff --git a/drivers/crypto/dwc-spacc/spacc_device.c b/drivers/crypto/dwc-spacc/spacc_device.c
> index 964ccdf294e3..332703daffef 100644
> --- a/drivers/crypto/dwc-spacc/spacc_device.c
> +++ b/drivers/crypto/dwc-spacc/spacc_device.c
> @@ -25,9 +25,14 @@ void spacc_stat_process(struct spacc_device *spacc)
> tasklet_schedule(&priv->pop_jobs);
> }
>
> +static const struct of_device_id snps_spacc_id[] = {
> + {.compatible = "snps,dwc-spacc" },
> + { /*sentinel */ }
> +};
> +
> +MODULE_DEVICE_TABLE(of, snps_spacc_id);
>
> -int spacc_probe(struct platform_device *pdev,
> - const struct of_device_id snps_spacc_id[])
> +int spacc_probe(struct platform_device *pdev)
> {
> int spacc_idx = -1;
> struct resource *mem;
> @@ -37,29 +42,14 @@ int spacc_probe(struct platform_device *pdev,
> int spacc_priority = -1;
> struct spacc_priv *priv;
> int x = 0, err, oldmode, irq_num;
> - const struct of_device_id *match, *id;
> u64 oldtimer = 100000, timer = 100000;
>
> - if (pdev->dev.of_node) {
> - id = of_match_node(snps_spacc_id, pdev->dev.of_node);
> - if (!id) {
> - dev_err(&pdev->dev, "DT node did not match\n");
> - return -EINVAL;
> - }
> - }
> -
> /* Initialize DDT DMA pools based on this device's resources */
> if (pdu_mem_init(&pdev->dev)) {
> dev_err(&pdev->dev, "Could not initialize DMA pools\n");
> return -ENOMEM;
> }
>
> - match = of_match_device(of_match_ptr(snps_spacc_id), &pdev->dev);
> - if (!match) {
> - dev_err(&pdev->dev, "SPAcc dtb missing");
> - return -ENODEV;
> - }
> -
> mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (!mem) {
> dev_err(&pdev->dev, "no memory resource for spacc\n");
> @@ -74,52 +64,52 @@ int spacc_probe(struct platform_device *pdev,
> }
>
> /* Read spacc priority and index and save inside priv.spacc.config */
> - if (of_property_read_u32(pdev->dev.of_node, "spacc_priority",
> + if (of_property_read_u32(pdev->dev.of_node, "spacc-priority",
> &spacc_priority)) {
> - dev_err(&pdev->dev, "No vspacc priority specified\n");
> + dev_err(&pdev->dev, "No virtual spacc priority specified\n");
> err = -EINVAL;
> goto free_ddt_mem_pool;
> }
>
> if (spacc_priority < 0 && spacc_priority > VSPACC_PRIORITY_MAX) {
> - dev_err(&pdev->dev, "Invalid vspacc priority\n");
> + dev_err(&pdev->dev, "Invalid virtual spacc priority\n");
> err = -EINVAL;
> goto free_ddt_mem_pool;
> }
> priv->spacc.config.priority = spacc_priority;
>
> - if (of_property_read_u32(pdev->dev.of_node, "spacc_index",
> + if (of_property_read_u32(pdev->dev.of_node, "spacc-index",
> &spacc_idx)) {
> - dev_err(&pdev->dev, "No vspacc index specified\n");
> + dev_err(&pdev->dev, "No virtual spacc index specified\n");
> err = -EINVAL;
> goto free_ddt_mem_pool;
> }
> priv->spacc.config.idx = spacc_idx;
>
> - if (of_property_read_u32(pdev->dev.of_node, "spacc_endian",
> + if (of_property_read_u32(pdev->dev.of_node, "spacc-endian",
> &spacc_endian)) {
> - dev_dbg(&pdev->dev, "No spacc_endian specified\n");
> + dev_dbg(&pdev->dev, "No spacc endian specified\n");
> dev_dbg(&pdev->dev, "Default spacc Endianness (0==little)\n");
> spacc_endian = 0;
> }
> priv->spacc.config.spacc_endian = spacc_endian;
>
> - if (of_property_read_u64(pdev->dev.of_node, "oldtimer",
> + if (of_property_read_u64(pdev->dev.of_node, "spacc-oldtimer",
> &oldtimer)) {
> - dev_dbg(&pdev->dev, "No oldtimer specified\n");
> + dev_dbg(&pdev->dev, "No spacc oldtimer specified\n");
> dev_dbg(&pdev->dev, "Default oldtimer (100000)\n");
> oldtimer = 100000;
> }
> priv->spacc.config.oldtimer = oldtimer;
>
> - if (of_property_read_u64(pdev->dev.of_node, "timer", &timer)) {
> - dev_dbg(&pdev->dev, "No timer specified\n");
> + if (of_property_read_u64(pdev->dev.of_node, "spacc-timer", &timer)) {
> + dev_dbg(&pdev->dev, "No spacc timer specified\n");
> dev_dbg(&pdev->dev, "Default timer (100000)\n");
> timer = 100000;
> }
> priv->spacc.config.timer = timer;
>
> - baseaddr = devm_ioremap_resource(&pdev->dev, mem);
> + baseaddr = devm_platform_get_and_ioremap_resource(pdev, 0, &mem);
> if (IS_ERR(baseaddr)) {
> dev_err(&pdev->dev, "unable to map iomem\n");
> err = PTR_ERR(baseaddr);
> @@ -127,12 +117,6 @@ int spacc_probe(struct platform_device *pdev,
> }
>
> pdu_get_version(baseaddr, &info);
> - if (pdev->dev.platform_data) {
> - struct pdu_info *parent_info = pdev->dev.platform_data;
> -
> - memcpy(&info.pdu_config, &parent_info->pdu_config,
> - sizeof(info.pdu_config));
> - }
>
> dev_dbg(&pdev->dev, "EPN %04X : virt [%d]\n",
> info.spacc_version.project,
> @@ -273,18 +257,12 @@ static void spacc_unregister_algs(void)
> #endif
> }
>
> -static const struct of_device_id snps_spacc_id[] = {
> - {.compatible = "snps-dwc-spacc" },
> - { /*sentinel */ }
> -};
> -
> -MODULE_DEVICE_TABLE(of, snps_spacc_id);
>
> static int spacc_crypto_probe(struct platform_device *pdev)
> {
> int rc;
>
> - rc = spacc_probe(pdev, snps_spacc_id);
> + rc = spacc_probe(pdev);
> if (rc < 0)
> goto err;
>
> @@ -326,7 +304,7 @@ static struct platform_driver spacc_driver = {
> .remove = spacc_crypto_remove,
> .driver = {
> .name = "spacc",
> - .of_match_table = of_match_ptr(snps_spacc_id),
> + .of_match_table = snps_spacc_id,
> .owner = THIS_MODULE,
> },
> };
> diff --git a/drivers/crypto/dwc-spacc/spacc_device.h b/drivers/crypto/dwc-spacc/spacc_device.h
> index be7fde25046b..e6a34dc20eba 100644
> --- a/drivers/crypto/dwc-spacc/spacc_device.h
> +++ b/drivers/crypto/dwc-spacc/spacc_device.h
> @@ -224,8 +224,7 @@ int spacc_unregister_aead_algs(void);
> int probe_ciphers(struct platform_device *spacc_pdev);
> int spacc_unregister_cipher_algs(void);
>
> -int spacc_probe(struct platform_device *pdev,
> - const struct of_device_id snps_spacc_id[]);
> +int spacc_probe(struct platform_device *pdev);
>
> irqreturn_t spacc_irq_handler(int irq, void *dev);
> #endif
> diff --git a/drivers/crypto/dwc-spacc/spacc_skcipher.c b/drivers/crypto/dwc-spacc/spacc_skcipher.c
> index 1ef7c665188f..8410ad9d9910 100644
> --- a/drivers/crypto/dwc-spacc/spacc_skcipher.c
> +++ b/drivers/crypto/dwc-spacc/spacc_skcipher.c
> @@ -401,41 +401,40 @@ static int spacc_cipher_process(struct skcipher_request *req, int enc_dec)
> return ret;
> }
> }
> -
> if (salg->mode->id == CRYPTO_MODE_AES_CTR ||
> salg->mode->id == CRYPTO_MODE_SM4_CTR) {
> /* copy the IV to local buffer */
> for (i = 0; i < 16; i++)
> ivc1[i] = req->iv[i];
>
> - /* 64-bit counter width */
> - if (readl(device_h->regmap + SPACC_REG_VERSION_EXT_3) & (0x3)) {
> + /* 32-bit counter width */
> + if (readl(device_h->regmap + SPACC_REG_VERSION_EXT_3) & (0x2)) {
Your patch is absolute mess.
You must organize your changes logically. Please read carefully
submitting patches document.
Best regards,
Krzysztof
next prev parent reply other threads:[~2024-09-04 6:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 3:11 [PATCH 1/2] Device tree registration and property names changes Pavitrakumar M
2024-09-04 3:11 ` [PATCH 2/2] SPAcc DT bindings Pavitrakumar M
2024-09-04 6:08 ` Krzysztof Kozlowski
2024-09-04 6:09 ` Krzysztof Kozlowski [this message]
[not found] ` <CALxtO0mREXjvGWYpL5PQUXAJ+v8yT9rHSOn69mfe7EMNz_LnmA@mail.gmail.com>
2024-09-04 7:53 ` [PATCH 1/2] Device tree registration and property names changes Krzysztof Kozlowski
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=4b2d796e-222e-4591-b141-eb82811a674d@kernel.org \
--to=krzk@kernel.org \
--cc=Ruud.Derwig@synopsys.com \
--cc=bhoomikak@vayavyalabs.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=manjunath.hadli@vayavyalabs.com \
--cc=pavitrakumarm@vayavyalabs.com \
--cc=robh@kernel.org \
/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