Re: Flushing writes to PCI devices

Robert Hancock
2006-09-20T23:23:45Z

Alan Stern wrote:
> I've heard that to insure proper synchronization it's necessary to flush
> MMIO writes (writel, writew, writeb) to PCI devices by reading from the
> same area. Is this equally true for I/O-space writes (inl, inw, inb)?
> What about configuration space writes (pci_write_config_dword etc.)?

Technically, according to the PCI specification, I/O space writes may be
posted in the host bus bridge (though unlike MMIO space, not at any
other PCI bridges) and would require a read in order to flush them.
However, there seem to be few if any chipsets ever made which actually
do this for I/O writes, and most code in the kernel seems to just assume
it won't happen, so it's probably safe to assume the same.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/