2017-12-30 15:52:18

by Himanshu Jha

[permalink] [raw]
Subject: [PATCH] brcmfmac: Use zeroing memory allocator than allocator/memset

Use dma_zalloc_coherent for allocating zeroed
memory and remove unnecessary memset function.

Done using Coccinelle.
Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci
0-day tested with no failures.

Suggested-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: Himanshu Jha <[email protected]>
---
.../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 3c87157..bdef2ac 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -1251,14 +1251,13 @@ static int brcmf_pcie_init_scratchbuffers(struct brcmf_pciedev_info *devinfo)
u64 address;
u32 addr;

- devinfo->shared.scratch = dma_alloc_coherent(&devinfo->pdev->dev,
- BRCMF_DMA_D2H_SCRATCH_BUF_LEN,
- &devinfo->shared.scratch_dmahandle, GFP_KERNEL);
+ devinfo->shared.scratch =
+ dma_zalloc_coherent(&devinfo->pdev->dev,
+ BRCMF_DMA_D2H_SCRATCH_BUF_LEN,
+ &devinfo->shared.scratch_dmahandle,
+ GFP_KERNEL);
if (!devinfo->shared.scratch)
goto fail;

- memset(devinfo->shared.scratch, 0, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);
-
addr = devinfo->shared.tcm_base_address +
BRCMF_SHARED_DMA_SCRATCH_ADDR_OFFSET;
address = (u64)devinfo->shared.scratch_dmahandle;
@@ -1268,14 +1267,13 @@ static int brcmf_pcie_init_scratchbuffers(struct brcmf_pciedev_info *devinfo)
BRCMF_SHARED_DMA_SCRATCH_LEN_OFFSET;
brcmf_pcie_write_tcm32(devinfo, addr, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);

- devinfo->shared.ringupd = dma_alloc_coherent(&devinfo->pdev->dev,
- BRCMF_DMA_D2H_RINGUPD_BUF_LEN,
- &devinfo->shared.ringupd_dmahandle, GFP_KERNEL);
+ devinfo->shared.ringupd =
+ dma_zalloc_coherent(&devinfo->pdev->dev,
+ BRCMF_DMA_D2H_RINGUPD_BUF_LEN,
+ &devinfo->shared.ringupd_dmahandle,
+ GFP_KERNEL);
if (!devinfo->shared.ringupd)
goto fail;

- memset(devinfo->shared.ringupd, 0, BRCMF_DMA_D2H_RINGUPD_BUF_LEN);
-
addr = devinfo->shared.tcm_base_address +
BRCMF_SHARED_DMA_RINGUPD_ADDR_OFFSET;
address = (u64)devinfo->shared.ringupd_dmahandle;
--
2.7.4


2017-12-31 12:07:14

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] brcmfmac: Use zeroing memory allocator than allocator/memset

On Sat, Dec 30, 2017 at 5:51 PM, Himanshu Jha
<[email protected]> wrote:
> Use dma_zalloc_coherent for allocating zeroed
> memory and remove unnecessary memset function.
>
> Done using Coccinelle.
> Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci
> 0-day tested with no failures.
>

Makes sense.

Reviewed-by: Andy Shevchenko <[email protected]>

> Suggested-by: Luis R. Rodriguez <[email protected]>
> Signed-off-by: Himanshu Jha <[email protected]>
> ---
> .../net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> index 3c87157..bdef2ac 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
> @@ -1251,14 +1251,13 @@ static int brcmf_pcie_init_scratchbuffers(struct brcmf_pciedev_info *devinfo)
> u64 address;
> u32 addr;
>
> - devinfo->shared.scratch = dma_alloc_coherent(&devinfo->pdev->dev,
> - BRCMF_DMA_D2H_SCRATCH_BUF_LEN,
> - &devinfo->shared.scratch_dmahandle, GFP_KERNEL);
> + devinfo->shared.scratch =
> + dma_zalloc_coherent(&devinfo->pdev->dev,
> + BRCMF_DMA_D2H_SCRATCH_BUF_LEN,
> + &devinfo->shared.scratch_dmahandle,
> + GFP_KERNEL);
> if (!devinfo->shared.scratch)
> goto fail;
>
> - memset(devinfo->shared.scratch, 0, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);
> -
> addr = devinfo->shared.tcm_base_address +
> BRCMF_SHARED_DMA_SCRATCH_ADDR_OFFSET;
> address = (u64)devinfo->shared.scratch_dmahandle;
> @@ -1268,14 +1267,13 @@ static int brcmf_pcie_init_scratchbuffers(struct brcmf_pciedev_info *devinfo)
> BRCMF_SHARED_DMA_SCRATCH_LEN_OFFSET;
> brcmf_pcie_write_tcm32(devinfo, addr, BRCMF_DMA_D2H_SCRATCH_BUF_LEN);
>
> - devinfo->shared.ringupd = dma_alloc_coherent(&devinfo->pdev->dev,
> - BRCMF_DMA_D2H_RINGUPD_BUF_LEN,
> - &devinfo->shared.ringupd_dmahandle, GFP_KERNEL);
> + devinfo->shared.ringupd =
> + dma_zalloc_coherent(&devinfo->pdev->dev,
> + BRCMF_DMA_D2H_RINGUPD_BUF_LEN,
> + &devinfo->shared.ringupd_dmahandle,
> + GFP_KERNEL);
> if (!devinfo->shared.ringupd)
> goto fail;
>
> - memset(devinfo->shared.ringupd, 0, BRCMF_DMA_D2H_RINGUPD_BUF_LEN);
> -
> addr = devinfo->shared.tcm_base_address +
> BRCMF_SHARED_DMA_RINGUPD_ADDR_OFFSET;
> address = (u64)devinfo->shared.ringupd_dmahandle;
> --
> 2.7.4
>



--
With Best Regards,
Andy Shevchenko

2018-01-08 17:23:25

by Kalle Valo

[permalink] [raw]
Subject: Re: brcmfmac: Use zeroing memory allocator than allocator/memset

Himanshu Jha <[email protected]> wrote:

> Use dma_zalloc_coherent for allocating zeroed
> memory and remove unnecessary memset function.
>
> Done using Coccinelle.
> Generated-by: scripts/coccinelle/api/alloc/kzalloc-simple.cocci
> 0-day tested with no failures.
>
> Suggested-by: Luis R. Rodriguez <[email protected]>
> Signed-off-by: Himanshu Jha <[email protected]>
> Reviewed-by: Andy Shevchenko <[email protected]>

Failed to apply:

fatal: corrupt patch at line 29
error: could not build fake ancestor
Applying: brcmfmac: Use zeroing memory allocator than allocator/memset
Patch failed at 0001 brcmfmac: Use zeroing memory allocator than allocator/memset
The copy of the patch that failed is found in: .git/rebase-apply/patch

Patch set to Changes Requested.

--
https://patchwork.kernel.org/patch/10137819/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches