[PATCH] arm64: cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)

Mark Rutland mark.rutland at arm.com
Wed Jun 2 06:51:23 PDT 2021


Hi Marek,

On Wed, Jun 02, 2021 at 03:25:41PM +0200, Marek Szyprowski wrote:
> On 27.05.2021 14:43, Will Deacon wrote:
> This patch landed in todays linux-next as commit 65688d2a05de ("arm64: 
> cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)"). It causes an 
> issue on Raspberry Pi 3b board. System boots to userspace fine, but then 
> it hangs somewhere during the init scripts after loading the modules. I 
> didn't manage to track where it hangs yet though.

Ouch!

I have a 3b in a drawer that I might be able to reproduce the issue
with; can you tell me how you're booting that kernel? e.g. which FW and
DT you're using?

Is your filesystem on the SD card, or some USB storage? I'm guessing
we'll need to stress DMA over one of those.

Thanks,
Mark.

> >   arch/arm64/include/asm/cache.h | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/include/asm/cache.h b/arch/arm64/include/asm/cache.h
> > index a074459f8f2f..a9c0716e7440 100644
> > --- a/arch/arm64/include/asm/cache.h
> > +++ b/arch/arm64/include/asm/cache.h
> > @@ -47,7 +47,7 @@
> >    * cache before the transfer is done, causing old data to be seen by
> >    * the CPU.
> >    */
> > -#define ARCH_DMA_MINALIGN	(128)
> > +#define ARCH_DMA_MINALIGN	L1_CACHE_BYTES
> >   
> >   #ifdef CONFIG_KASAN_SW_TAGS
> >   #define ARCH_SLAB_MINALIGN	(1ULL << KASAN_SHADOW_SCALE_SHIFT)
> 
> Best regards
> -- 
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
> 



More information about the linux-arm-kernel mailing list