[PATCH 11/20] sound, skylake: switch from ioremap_cache to memremap

Dan Williams dan.j.williams at intel.com
Mon Oct 19 09:59:29 PDT 2015

On Mon, Oct 19, 2015 at 9:08 AM, Mark Brown <broonie at kernel.org> wrote:
> On Mon, Oct 19, 2015 at 05:34:48PM +0200, Takashi Iwai wrote:
>> Mark Brown wrote:
>> > On Fri, Oct 09, 2015 at 06:16:36PM -0400, Dan Williams wrote:
>> > > In preparation for deprecating ioremap_cache() convert its usage in
>> > > skl-nhlt to memremap.
>> > > -void __iomem *skl_nhlt_init(struct device *dev)
>> > > +void *skl_nhlt_init(struct device *dev)
>> > Why are we loosing the annotation here?
>> It's the exact purpose of this patchset, as far as I understand.
>> memremap() allows the driver accessing the mapped memory just like a
>> normal memory unlike ioremap().
> There's no mention of what the purpose of the conversion is in either
> the patch or the cover letter so it's a bit unclear, some confirmation
> would be good :(

The cover letter linked this article which talked through the
motivation: https://lwn.net/Articles/653585/

Essentially an "__iomem" annotation on a cached mapping is
inconsistent as __iomem indicates "may have side effects, use special
accessors" and cached means "pre-fetching, asynchronous write-backs,
and cpu determined i/o sizes are permissible".

More information about the linux-arm-kernel mailing list