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.