Re: Flushing writes to PCI devices

From: Robert Hancock
Date: Wed Sep 20 2006 - 19:24:01 EST


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@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/