2022-07-19 20:31:37

by Christophe JAILLET

[permalink] [raw]
Subject: [PATCH] crypto: ccree - Remove a useless dma_supported() call

There is no point in calling dma_supported() before calling
dma_set_coherent_mask(). This function already calls dma_supported() and
returns an error (-EIO) if it fails.

So remove the superfluous dma_supported() call.

While at it, fix the name of the function reported in a dev_err().

Signed-off-by: Christophe JAILLET <[email protected]>
---
I guess that the whole while loop could be removed, but I don't remind the
thread with the corresponding explanation, so leave it as-is :(
---
drivers/crypto/ccree/cc_driver.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/crypto/ccree/cc_driver.c b/drivers/crypto/ccree/cc_driver.c
index 7d1bee86d581..99f8bda718fe 100644
--- a/drivers/crypto/ccree/cc_driver.c
+++ b/drivers/crypto/ccree/cc_driver.c
@@ -373,16 +373,16 @@ static int init_cc_resources(struct platform_device *plat_dev)

dma_mask = DMA_BIT_MASK(DMA_BIT_MASK_LEN);
while (dma_mask > 0x7fffffffUL) {
- if (dma_supported(dev, dma_mask)) {
- rc = dma_set_coherent_mask(dev, dma_mask);
- if (!rc)
- break;
- }
+ rc = dma_set_coherent_mask(dev, dma_mask);
+ if (!rc)
+ break;
+
dma_mask >>= 1;
}

if (rc) {
- dev_err(dev, "Failed in dma_set_mask, mask=%llx\n", dma_mask);
+ dev_err(dev, "Failed in dma_set_coherent_mask, mask=%llx\n",
+ dma_mask);
return rc;
}

--
2.34.1


2022-07-20 05:29:06

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] crypto: ccree - Remove a useless dma_supported() call

On Tue, Jul 19, 2022 at 10:27:50PM +0200, Christophe JAILLET wrote:
> There is no point in calling dma_supported() before calling
> dma_set_coherent_mask(). This function already calls dma_supported() and
> returns an error (-EIO) if it fails.
>
> So remove the superfluous dma_supported() call.
>
> While at it, fix the name of the function reported in a dev_err().
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> I guess that the whole while loop could be removed, but I don't remind the
> thread with the corresponding explanation, so leave it as-is :(

The loop should go away. Setting a larger DMA mask will never fail when
setting a smaller one will succeed.

Also after this patch dma_supported can be marked static (Yay!)

2022-07-20 09:26:59

by Gilad Ben-Yossef

[permalink] [raw]
Subject: Re: [PATCH] crypto: ccree - Remove a useless dma_supported() call

Hi Christophe,

Thank you for the patch!


On Tue, Jul 19, 2022 at 11:27 PM Christophe JAILLET
<[email protected]> wrote:
>
> There is no point in calling dma_supported() before calling
> dma_set_coherent_mask(). This function already calls dma_supported() and
> returns an error (-EIO) if it fails.
>
> So remove the superfluous dma_supported() call.
>
> While at it, fix the name of the function reported in a dev_err().
>
> Signed-off-by: Christophe JAILLET <[email protected]>

Acked-by: Gilad Ben-Yossef <[email protected]>

> ---
> I guess that the whole while loop could be removed, but I don't remind the
> thread with the corresponding explanation, so leave it as-is :(

I would be happy to ack a patch that does this if you care to write it...

Gilad

> ---
> drivers/crypto/ccree/cc_driver.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/crypto/ccree/cc_driver.c b/drivers/crypto/ccree/cc_driver.c
> index 7d1bee86d581..99f8bda718fe 100644
> --- a/drivers/crypto/ccree/cc_driver.c
> +++ b/drivers/crypto/ccree/cc_driver.c
> @@ -373,16 +373,16 @@ static int init_cc_resources(struct platform_device *plat_dev)
>
> dma_mask = DMA_BIT_MASK(DMA_BIT_MASK_LEN);
> while (dma_mask > 0x7fffffffUL) {
> - if (dma_supported(dev, dma_mask)) {
> - rc = dma_set_coherent_mask(dev, dma_mask);
> - if (!rc)
> - break;
> - }
> + rc = dma_set_coherent_mask(dev, dma_mask);
> + if (!rc)
> + break;
> +
> dma_mask >>= 1;
> }
>
> if (rc) {
> - dev_err(dev, "Failed in dma_set_mask, mask=%llx\n", dma_mask);
> + dev_err(dev, "Failed in dma_set_coherent_mask, mask=%llx\n",
> + dma_mask);
> return rc;
> }
>
> --
> 2.34.1
>


--
Gilad Ben-Yossef
Chief Coffee Drinker

values of β will give rise to dom!

2022-07-20 09:38:36

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] crypto: ccree - Remove a useless dma_supported() call

Le 20/07/2022 à 11:24, Gilad Ben-Yossef a écrit :
> Hi Christophe,
>
> Thank you for the patch!
>
>
> On Tue, Jul 19, 2022 at 11:27 PM Christophe JAILLET
> <[email protected]> wrote:
>>
>> There is no point in calling dma_supported() before calling
>> dma_set_coherent_mask(). This function already calls dma_supported() and
>> returns an error (-EIO) if it fails.
>>
>> So remove the superfluous dma_supported() call.
>>
>> While at it, fix the name of the function reported in a dev_err().
>>
>> Signed-off-by: Christophe JAILLET <[email protected]>
>
> Acked-by: Gilad Ben-Yossef <[email protected]>
>
>> ---
>> I guess that the whole while loop could be removed, but I don't remind the
>> thread with the corresponding explanation, so leave it as-is :(
>
> I would be happy to ack a patch that does this if you care to write it...

I will send a v2.

Don't bother with this patch.

CJ

>
> Gilad
>
>> ---
>> drivers/crypto/ccree/cc_driver.c | 12 ++++++------
>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/crypto/ccree/cc_driver.c b/drivers/crypto/ccree/cc_driver.c
>> index 7d1bee86d581..99f8bda718fe 100644
>> --- a/drivers/crypto/ccree/cc_driver.c
>> +++ b/drivers/crypto/ccree/cc_driver.c
>> @@ -373,16 +373,16 @@ static int init_cc_resources(struct platform_device *plat_dev)
>>
>> dma_mask = DMA_BIT_MASK(DMA_BIT_MASK_LEN);
>> while (dma_mask > 0x7fffffffUL) {
>> - if (dma_supported(dev, dma_mask)) {
>> - rc = dma_set_coherent_mask(dev, dma_mask);
>> - if (!rc)
>> - break;
>> - }
>> + rc = dma_set_coherent_mask(dev, dma_mask);
>> + if (!rc)
>> + break;
>> +
>> dma_mask >>= 1;
>> }
>>
>> if (rc) {
>> - dev_err(dev, "Failed in dma_set_mask, mask=%llx\n", dma_mask);
>> + dev_err(dev, "Failed in dma_set_coherent_mask, mask=%llx\n",
>> + dma_mask);
>> return rc;
>> }
>>
>> --
>> 2.34.1
>>
>
>