Subject: Re: [PATCH 3/4] myri10ge - Driver core

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 26 May 2006 20:56:04 +1000

On Fri, 2006-05-26 at 06:30 -0400, Jeff Garzik wrote:
> Benjamin Herrenschmidt wrote:
> >>> No proper interface exposed, he'll have to do an #ifdef powerpc here or
> >>> such and use __ioremap with explicit page attributes. I have a hack to
> >>> do that automatically for memory covered by prefetchable PCI BARs when
> >>> mmap'ing from userland but not for kernel ioremap.
> >> Stupid question: pci_iomap() is NOT what you are looking for, right?
> >>
> >> Implementation is at the end of lib/iomap.c
> > 
> > No, there is no difference there, pci_iomap won't help for passing in
> > platform specific page attributes for things like write combining.
> 
> Since we already have ioremap_nocache(), maybe adding ioremap_wcomb() is 
> appropriate?

Yes, but be careful there.. on ppc, not setting the page "guarded" bit
will enable write combining on various CPUs but will also enable
speculative reads, prefetch, etc... so it's not "just" WC, you have to
know for sure what you are doing with that memory (basically, enable
side-effects).

Ben.