Thread (4 messages) 4 messages, 3 authors, 2021-12-22

Re: [PATCH v2] asm-generic: introduce io_stop_wc() and add implementation for ARM64

From: Arnd Bergmann <arnd@arndb.de>
Date: 2021-12-21 09:17:47
Also in: linux-arm-kernel, linux-doc, lkml

On Tue, Dec 21, 2021 at 4:55 AM Xiongfeng Wang
[off-list ref] 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 <redacted>
Suggested-by: Will Deacon <will@kernel.org>
Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
---
v1->v2: change 'Normal-Non Cacheable' to 'write-combining'
For asm-generic:

Acked-by: Arnd Bergmann <arnd@arndb.de>

Will, Catalin: if you are happy with this version, please merge it through the
arm64 tree.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help