RPi4 can't deal with 64 bit PCI accesses

Christoph Hellwig hch at infradead.org
Fri Feb 26 00:32:23 EST 2021


On Thu, Feb 25, 2021 at 12:35:27PM +0100, Nicolas Saenz Julienne wrote:
> Yes, that's what I had in mind myself. All in all, why penalize the rest of
> busses in the system. What I'm planning is to introduce a '64bit-mmio-broken'
> DT property that'll utimately live somwhere in 'struct device.'
> 
> WRT why not defaulting to 32-bit accesses for distro images if they support
> RPi4. My *un-educated* guess is that, the performance penalty of checking for a
> device flag is (way) lower than having to resort to two distinct write
> operations with their assorted memory barriers. I'm sure you can
> comment/correct me here.

Various high performance devices rely on the fact that 64-bit MMIO
writes are atomic, and will have to use an extra lock and/or an entirely
different programming model if they are not supported.

If that is not the case just using 32-bit accesses always is certainly
easier, that's what we did for the slow-path only 64-bit registers in
NVMe.



More information about the linux-arm-kernel mailing list