mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
io-mapping: Fixup for different names of writecombine
Somehow architectures can't agree on this. And for good measure make
sure we have a fallback which should work everywhere (fingers
crossed).
v2: Make it compile properly, needs a defined() for the #elif.
Fixes: ac96b55669
("io-mapping.h: s/PAGE_KERNEL_IO/PAGE_KERNEL/")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: linux-mm@kvack.org
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20160823202233.4681-1-daniel.vetter@ffwll.ch
This commit is contained in:
parent
ac96b55669
commit
80c33624e4
1 changed files with 6 additions and 0 deletions
|
@ -123,7 +123,13 @@ io_mapping_init_wc(struct io_mapping *iomap,
|
||||||
iomap->base = base;
|
iomap->base = base;
|
||||||
iomap->size = size;
|
iomap->size = size;
|
||||||
iomap->iomem = ioremap_wc(base, size);
|
iomap->iomem = ioremap_wc(base, size);
|
||||||
|
#if defined(pgprot_noncached_wc) /* archs can't agree on a name ... */
|
||||||
|
iomap->prot = pgprot_noncached_wc(PAGE_KERNEL);
|
||||||
|
#elif defined(pgprot_writecombine)
|
||||||
iomap->prot = pgprot_writecombine(PAGE_KERNEL);
|
iomap->prot = pgprot_writecombine(PAGE_KERNEL);
|
||||||
|
#else
|
||||||
|
iomap->prot = pgprot_noncached(PAGE_KERNEL);
|
||||||
|
#endif
|
||||||
|
|
||||||
return iomap;
|
return iomap;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue