[PATCH v2] asm-generic: introduce io_stop_wc() and add implementation for ARM64
Arnd Bergmann
arnd at arndb.de
Tue Dec 21 01:17:27 PST 2021
On Tue, Dec 21, 2021 at 4:55 AM Xiongfeng Wang
<wangxiongfeng2 at huawei.com> wrote:
>
> For memory accesses with write-combining attributes (e.g. those returned
> by ioremap_wc()), the CPU may wait for prior accesses to be merged with
> subsequent ones. But in some situation, such wait is bad for the
> performance.
>
> We introduce io_stop_wc() to prevent the merging of write-combining
> memory accesses before this macro with those after it.
>
> We add implementation for ARM64 using DGH instruction and provide NOP
> implementation for other architectures.
>
> Signed-off-by: Xiongfeng Wang <wangxiongfeng2 at huawei.com>
> Suggested-by: Will Deacon <will at kernel.org>
> Suggested-by: Catalin Marinas <catalin.marinas at arm.com>
> ---
> v1->v2: change 'Normal-Non Cacheable' to 'write-combining'
For asm-generic:
Acked-by: Arnd Bergmann <arnd at arndb.de>
Will, Catalin: if you are happy with this version, please merge it through the
arm64 tree.
More information about the linux-arm-kernel
mailing list