summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@MIT.EDU>2011-05-26 10:13:31 -0400
committerPaul Mundt <lethal@linux-sh.org>2011-06-02 17:18:04 +0900
commit3c004b4f7eab239e726c6dde0f6cfca46a96956b (patch)
tree91992251a5ff8967159fcfd7802732e14369d9de
parent0057f1809d44b26765ec2374e0107a2f8ab256f5 (diff)
downloadlinux-3c004b4f7eab239e726c6dde0f6cfca46a96956b.tar.gz
efifb: Enable write-combining
Running fbcon on an uncached framebuffer is remarkably slow.  So try
to enable write combining in efifb.

Without this patch, it takes 5.8 seconds from efifb probe to i915
probe (default options; no plymouth or quiet mode).  With this patch,
it only takes 1.7 seconds.  That means we wasted over 4 seconds just
writing to UC memory.

Signed-off-by: Andy Lutomirski <luto@mit.edu>
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--drivers/video/efifb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
index fb205843c2c7..7f06247a21e8 100644
--- a/drivers/video/efifb.c
+++ b/drivers/video/efifb.c
@@ -413,7 +413,7 @@ static int __devinit efifb_probe(struct platform_device *dev)
 	info->apertures->ranges[0].base = efifb_fix.smem_start;
 	info->apertures->ranges[0].size = size_remap;
 
-	info->screen_base = ioremap(efifb_fix.smem_start, efifb_fix.smem_len);
+	info->screen_base = ioremap_wc(efifb_fix.smem_start, efifb_fix.smem_len);
 	if (!info->screen_base) {
 		printk(KERN_ERR "efifb: abort, cannot ioremap video memory "
 				"0x%x @ 0x%lx\n",