Message ID | 0fe514f6e105a2c7f773679a14fce80216594a9b.1535103285.git.christophe.leroy@c-s.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drivers/video/fbdev: use ioremap_wc() instead of __ioremap(_PAGE_NO_CACHE) | expand |
On Fri, Aug 24, 2018 at 10:16:22AM +0000, Christophe Leroy wrote: > _PAGE_NO_CACHE is a target specific flag. Prefer generic functions. > #ifdef CONFIG_PPC > - p->screen_base = __ioremap(addr, 0x200000, _PAGE_NO_CACHE); > + p->screen_base = ioremap_wc(addr, 0x200000); > #else But that is not the same. I think you want ioremap_nocache? Segher
Le 24/08/2018 à 13:05, Segher Boessenkool a écrit : > On Fri, Aug 24, 2018 at 10:16:22AM +0000, Christophe Leroy wrote: >> _PAGE_NO_CACHE is a target specific flag. Prefer generic functions. > >> #ifdef CONFIG_PPC >> - p->screen_base = __ioremap(addr, 0x200000, _PAGE_NO_CACHE); >> + p->screen_base = ioremap_wc(addr, 0x200000); >> #else > > But that is not the same. I think you want ioremap_nocache? > > No, ioremap_nocache() is _PAGE_NO_CACHE | _PAGE_GUARDED /arch/powerpc/include/asm/io.h #define ioremap_nocache(addr, size) ioremap((addr), (size)) /arch/powerpc/mm/pgtable_32.c: void __iomem * ioremap_wc(phys_addr_t addr, unsigned long size) { return __ioremap_caller(addr, size, _PAGE_NO_CACHE, __builtin_return_address(0)); } void __iomem * ioremap(phys_addr_t addr, unsigned long size) { return __ioremap_caller(addr, size, _PAGE_NO_CACHE | _PAGE_GUARDED, __builtin_return_address(0)); } Christophe
diff --git a/drivers/video/fbdev/chipsfb.c b/drivers/video/fbdev/chipsfb.c index f103665cad43..48fbc22d6867 100644 --- a/drivers/video/fbdev/chipsfb.c +++ b/drivers/video/fbdev/chipsfb.c @@ -401,7 +401,7 @@ static int chipsfb_pci_init(struct pci_dev *dp, const struct pci_device_id *ent) #endif /* CONFIG_PMAC_BACKLIGHT */ #ifdef CONFIG_PPC - p->screen_base = __ioremap(addr, 0x200000, _PAGE_NO_CACHE); + p->screen_base = ioremap_wc(addr, 0x200000); #else p->screen_base = ioremap(addr, 0x200000); #endif
linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org _PAGE_NO_CACHE is a target specific flag. Prefer generic functions. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- drivers/video/fbdev/chipsfb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)