Messages in this thread | | | Date | Sun, 27 Apr 2008 18:53:33 -0400 | From | Jeff Garzik <> | Subject | Re: [patch] x86, voyager: fix ioremap_nocache() |
| |
David Miller wrote: > From: Jeff Garzik <jeff@garzik.org> > 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
| |