diff options
| author | Luis R. Rodriguez <[email protected]> | 2015-04-21 13:16:38 -0700 |
|---|---|---|
| committer | Tomi Valkeinen <[email protected]> | 2015-06-03 12:41:53 +0300 |
| commit | 9ccfc4aa6939b06c7d0cd1de04949be1eb2b0836 (patch) | |
| tree | 2491a6eb39cb010f4f16847bc1f41db9b86d1a54 | |
| parent | 1e43a20396ee34a6b0305fc155cb59af13a89435 (diff) | |
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 <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Laurent Pinchart <[email protected]>
Cc: Jingoo Han <[email protected]>
Cc: Suresh Siddha <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Juergen Gross <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Dave Airlie <[email protected]>
Cc: Antonino Daplas <[email protected]>
Cc: Jean-Christophe Plagniol-Villard <[email protected]>
Cc: Tomi Valkeinen <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Luis R. Rodriguez <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Signed-off-by: Tomi Valkeinen <[email protected]>
| -rw-r--r-- | drivers/video/fbdev/geode/gxfb_core.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |