Re: [patch] x86, voyager: fix ioremap_nocache()

From: Jeff Garzik
Date: Sun Apr 27 2008 - 18:53:55 EST


David Miller wrote:
From: Jeff Garzik <jeff@xxxxxxxxxx>
Date: Sun, 27 Apr 2008 18:39:24 -0400

I disagree with this semantics change. A number of code places _and drivers_ GET IT RIGHT, and these are all broken now?

[ Note, James's patch that you quoted is about mapping DMA
memory, in dma_declare_coherent_memory(), rather than devices.
But I know what you are trying to talk about Jeff. :-) ]

Wrt. ioremap() semanics, it is important to realize that if
the implementation of this on x86 has been giving non-cached
I/O mappings out up until recently, you can expect that there
are hundreds of drivers that might now be broken.

That's the sad fact of the ubiquity of x86, and it doesn't matter how
we defined the API is some document.

Anyways, my point is that this angle should be strongly considered in
any discussion about ioremap() behavior.

Understood.

I guess I am more annoyed that this stealth semantics change appears to have broken everything that depends on pci_iomap(), including 90%+ of all libata drivers, unless I am missing something.

That one piece of code (pci_iomap) was correct under the old semantics, on x86 and elsewhere. It's tested and working nicely, and depended upon by many drivers.

Jeff



--
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/