lkml.org 
[lkml]   [2022]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/1] dmaengine: dw-edma: Removed redundant #ifdef check for 64-bit
Hello Ruiqu

On Tue, May 10, 2022 at 11:31:17AM -0500, Ruiqi Li wrote:
> Commit at 8fc5133d fixed unaligned memory access, which caused both 32
> and 64 bit to be the same.
>
> #ifdef CONFIG_64BIT
> /* llp is not aligned on 64bit -> keep 32bit accesses */
> SET_CH_32(dw, chan->dir, chan->id, llp.lsb,
> lower_32_bits(chunk->ll_region.paddr));
> SET_CH_32(dw, chan->dir, chan->id, llp.msb,
> upper_32_bits(chunk->ll_region.paddr));
> #else /* CONFIG_64BIT */
> SET_CH_32(dw, chan->dir, chan->id, llp.lsb,
> lower_32_bits(chunk->ll_region.paddr));
> SET_CH_32(dw, chan->dir, chan->id, llp.msb,
> upper_32_bits(chunk->ll_region.paddr));
> #endif /* CONFIG_64BIT */
>
> This patch removes redundant preprocessor check for 64 bit.

A similar fix but with another reasoning has already been submitted:
Link: https://lore.kernel.org/linux-pci/20220503225104.12108-21-Sergey.Semin@baikalelectronics.ru/
So not only the denoted but all 64BIT-ifdef's will be dropped from the
driver.

-Sergey

>
> Signed-off-by: Ruiqi Li <guywithanaxe42@gmail.com>
> ---
> drivers/dma/dw-edma/dw-edma-v0-core.c | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/drivers/dma/dw-edma/dw-edma-v0-core.c b/drivers/dma/dw-edma/dw-edma-v0-core.c
> index 33bc1e6c4cf2..d34f344a094b 100644
> --- a/drivers/dma/dw-edma/dw-edma-v0-core.c
> +++ b/drivers/dma/dw-edma/dw-edma-v0-core.c
> @@ -415,18 +415,11 @@ void dw_edma_v0_core_start(struct dw_edma_chunk *chunk, bool first)
> (DW_EDMA_V0_CCS | DW_EDMA_V0_LLE));
> /* Linked list */
>
> - #ifdef CONFIG_64BIT
> /* llp is not aligned on 64bit -> keep 32bit accesses */
> SET_CH_32(dw, chan->dir, chan->id, llp.lsb,
> lower_32_bits(chunk->ll_region.paddr));
> SET_CH_32(dw, chan->dir, chan->id, llp.msb,
> upper_32_bits(chunk->ll_region.paddr));
> - #else /* CONFIG_64BIT */
> - SET_CH_32(dw, chan->dir, chan->id, llp.lsb,
> - lower_32_bits(chunk->ll_region.paddr));
> - SET_CH_32(dw, chan->dir, chan->id, llp.msb,
> - upper_32_bits(chunk->ll_region.paddr));
> - #endif /* CONFIG_64BIT */
> }
> /* Doorbell */
> SET_RW_32(dw, chan->dir, doorbell,
> --
> 2.36.1
>

\
 
 \ /
  Last update: 2022-05-12 12:41    [W:0.038 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site