Thread (21 messages) 21 messages, 6 authors, 2021-08-18

Re: [RFC PATCH 2/2] PCI: apple: Add driver for the Apple M1

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-08-17 07:34:56
Also in: linux-devicetree, lkml

On Mon, Aug 16, 2021 at 11:57 PM Marc Zyngier [off-list ref] wrote:
On Mon, 16 Aug 2021 02:31:40 +0100, Alyssa Rosenzweig [off-list ref] wrote:
quoted
quoted
Please use relaxed accessors. If the barriers are actually needed,
please document what you are ordering against. This applies throughout
the patch.
Relaxed accessors are used throughout in v2... it Works For Me™ but no
guarantees I didn't introduce a race...
That's not exactly what I wanted to read... You really need to make an
informed decision on the need of barriers. If the MMIO write needs to
be ordered after a main memory write (i.e. a memory write that is
consumed by the device you are subsequently writing to), you then need
a barrier. If, as I suspect, the device isn't DMA capable and doesn't
require ordering with the rest of the memory accesses, then no
barriers are required.
My normal rule is to always use the normal accessors, and only use
any special variants if this is either required for correct operation
(e.g. heavy barriers on arm32 may call code that must not recursively
use heavy barriers) or that you have proven to /both/ be correct and
relevant for performance. IOW, don't use the relaxed accessors just
because it isn't wrong in your driver, other developers may copy the
code into a driver that can't do it.

      Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help