[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a2ykLvJkhX+wDAOHdyLHjPFAfhOxi5BNM9kTKv_8F7VQg@mail.gmail.com>
Date: Thu, 12 Aug 2021 10:54:22 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Xianting TIan <xianting.tian@...ux.alibaba.com>
Cc: Arnd Bergmann <arnd@...db.de>, gregkh <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>, Amit Shah <amit@...nel.org>,
Omar Sandoval <osandov@...com>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>,
"open list:DRM DRIVER FOR QEMU'S CIRRUS DEVICE"
<virtualization@...ts.linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Guo Ren <guoren@...nel.org>
Subject: Re: [PATCH v4 1/2] tty: hvc: pass DMA capable memory to put_chars()
On Thu, Aug 12, 2021 at 10:08 AM Xianting TIan
<xianting.tian@...ux.alibaba.com> wrote:
> 在 2021/8/6 下午10:51, Arnd Bergmann 写道:
> > On Fri, Aug 6, 2021 at 5:01 AM Xianting Tian
> >> +#define __ALIGNED__ __attribute__((__aligned__(sizeof(long))))
> > I think you need a higher alignment for DMA buffers, instead of sizeof(long),
> > I would suggest ARCH_DMA_MINALIGN.
>
> As some ARCH(eg, x86, riscv) doesn't define ARCH_DMA_MINALIG, so i think
> it 's better remain the code unchanged,
>
> I will send v5 patch soon.
I think you could just use "L1_CACHE_BYTES" as the alignment in this case.
This will make the structure slightly larger for architectures that do not have
alignment constraints on DMA buffers, but using a smaller alignment is
clearly wrong. Another option would be to use ARCH_KMALLOC_MINALIGN.
Note that there is a patch to add ARCH_DMA_MINALIGN to riscv already,
as some implementations do not have coherent DMA. I had failed to
realized though that on x86 you do not get an ARCH_DMA_MINALIGN
definition.
Arnd
Powered by blists - more mailing lists