From: Luis R. Rodriguez Date: Tue, 21 Apr 2015 20:16:38 +0000 (-0700) Subject: video: fbdev: geode gxfb: use ioremap_wc() for framebuffer X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9ccfc4aa6939b06c7d0cd1de04949be1eb2b0836;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git video: fbdev: geode gxfb: use ioremap_wc() for framebuffer The driver doesn't use mtrr_add() or arch_phys_wc_add() but since we know the framebuffer is isolated already on an ioremap() we can take advantage of write combining for performance where possible. In this case there are a few motivations for this: a) Take advantage of PAT when available b) Help with the goal of eventually using _PAGE_CACHE_UC over _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit de33c442e titled "x86 PAT: fix performance drop for glx, use UC minus for ioremap(), ioremap_nocache() and pci_mmap_page_range()") Cc: Sudip Mukherjee Cc: Geert Uytterhoeven Cc: Laurent Pinchart Cc: Jingoo Han Cc: Suresh Siddha Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Juergen Gross Cc: Daniel Vetter Cc: Andy Lutomirski Cc: Dave Airlie Cc: Antonino Daplas Cc: Jean-Christophe Plagniol-Villard Cc: Tomi Valkeinen Cc: linux-geode@lists.infradead.org Cc: linux-fbdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Luis R. Rodriguez Reviewed-by: Dave Airlie Signed-off-by: Tomi Valkeinen --- diff --git a/drivers/video/fbdev/geode/gxfb_core.c b/drivers/video/fbdev/geode/gxfb_core.c index 124d7c7e2d14..ec9fc9ac23de 100644 --- a/drivers/video/fbdev/geode/gxfb_core.c +++ b/drivers/video/fbdev/geode/gxfb_core.c @@ -263,7 +263,8 @@ static int gxfb_map_video_memory(struct fb_info *info, struct pci_dev *dev) info->fix.smem_start = pci_resource_start(dev, 0); info->fix.smem_len = vram ? vram : gx_frame_buffer_size(); - info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len); + info->screen_base = ioremap_wc(info->fix.smem_start, + info->fix.smem_len); if (!info->screen_base) return -ENOMEM;