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:hifive-unleashed-5.1ac96b55669
("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 (cherry picked from commit80c33624e4
)
parent
bcaaa0c431
commit
351243897b
|
@ -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 New Issue