Re: [PATCH v9 0/8] pci: add pci_iomap_wc() and pci_ioremap_wc_bar()
From: Bjorn Helgaas <bhelgaas@google.com>
Date: 2015-07-21 13:22:11
Also in:
linux-pci, lkml, xen-devel
On Tue, Jul 21, 2015 at 10:52:52AM +0200, Ingo Molnar wrote:
* Luis R. Rodriguez [off-list ref] wrote:quoted
On Wed, Jul 08, 2015 at 06:54:11PM -0700, Luis R. Rodriguez wrote:quoted
From: "Luis R. Rodriguez" <redacted> Ingo, Boris is on vacation, he picked up these patches on his bp#tip-mm tree [0] and they have baked there for a while now. That tree receives 0-day bot testing, but other than that its not clear what other tests were run on these patches. Boris modified the commit logs a bit, and made one optimizaiton to bail early on an PCI ioremap call when it should. These patches have no modifications from what is on Boris' tree and tip-mm branch. The 0 day build bot did find issues on Boris' tree but those are related to ioremap_uc() (already upstream) and its first use on atyfb (not upstream) -- I will be addressing a fix for that ioremap_uc() issue through another patch series prior to posting the final set for atyfb which makes use of ioremap_uc(). No issues have been found with this series. Benh did note some possible issues with expectations with what is done for write-combining for PowerPC [1] but the issue is a rather general long standing issue with semantics of ioremap -- in the case for ioremap_wc() on PowerPC benh notes that writel() will never write-combine as it uses too heavy barriers. Benh notes that although writel_relaxed() today is identical to writel() this can be changed. There are other general semantics issues with ioremap() variant calls -- we seem to have all gotten together to discuss all these issues on a thread where Dan Williams is proposing to "unify ioremap prototypes and macro aliases" [1], folks intersted on these issues or semantic concerns can drop in and chime there. Let me know if these are OK or if there are any questions. [0] http://lkml.kernel.org/r/20150625204703.GC4898@pd.tnic [1] http://lkml.kernel.org/r/20150707095012.GQ7021@wotan.suse.deIngo, Just a friendly reminder. Let me know if there are any issues or questions.It would be nice to get an Acked-by from Bjorn for the PCI API bits.
I think the actual code of pci_ioremap_wc() and pci_ioremap_wc_bar() is fine (although I might have named it pci_ioremap_bar_wc() for consistency). I declined to merge or ack them myself because they're obvious extensions of pci_ioremap() and pci_ioremap_bar(), and I would prefer that they be exported the same way, i.e., with EXPORT_SYMBOL(), not EXPORT_SYMBOL_GPL(). I think using EXPORT_SYMBOL_GPL to express individual political aims rather than as a hint about what might be derived work makes us look like zealots, and that's not my style. Bjorn