Re: RPi4 can't deal with 64 bit PCI accesses
From: Christoph Hellwig <hch@infradead.org>
Date: 2021-02-26 05:33:33
Also in:
linux-arm-kernel, linux-pci
From: Christoph Hellwig <hch@infradead.org>
Date: 2021-02-26 05:33:33
Also in:
linux-arm-kernel, linux-pci
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.