Re: [RFT PATCH v3 12/27] of/address: Add infrastructure to declare MMIO as non-posted

From: Hector Martin
Date: Fri Mar 05 2021 - 12:20:14 EST


On 06/03/2021 01.43, Arnd Bergmann wrote:
- setting ioremap() on PCI buses non-posted only makes them
only slower but not more reliable, because the non-posted flag
on the bus is discarded by the PCI host bridge.

Note that this doesn't work here *anyway*. The fabric is picky in both directions: thou shalt use nGnRnE for on-SoC MMIO and nGnRE for PCIe windows, or else, SError.

Since these devices can support *any* PCI device via Thunderbolt, making PCI drivers be the oddball ones needing special APIs would mean hundreds of changes needed - the vast majority of PCI drivers in the kernel use plain ioremap variants that don't have any flags to look at.

--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub