diff --git a/drivers/video/fbdev/savage/savagefb.h b/drivers/video/fbdev/savage/savagefb.h index 8ff4ab1cb69b0f40143b17426c2702c52c420bf2..aba04afe712d02afdddc3c2dc7d1b736e2a7ae2e 100644 --- a/drivers/video/fbdev/savage/savagefb.h +++ b/drivers/video/fbdev/savage/savagefb.h @@ -213,9 +213,7 @@ struct savagefb_par { void __iomem *vbase; u32 pbase; u32 len; -#ifdef CONFIG_MTRR - int mtrr; -#endif + int wc_cookie; } video; struct { diff --git a/drivers/video/fbdev/savage/savagefb_driver.c b/drivers/video/fbdev/savage/savagefb_driver.c index 4dbf45f3b21a3d6b9bc7287d23bf305f27a0de16..6c77ab09b0b202db95718c67cc2ecbd415f8f1bc 100644 --- a/drivers/video/fbdev/savage/savagefb_driver.c +++ b/drivers/video/fbdev/savage/savagefb_driver.c @@ -57,10 +57,6 @@ #include <asm/irq.h> #include <asm/pgtable.h> -#ifdef CONFIG_MTRR -#include <asm/mtrr.h> -#endif - #include "savagefb.h" @@ -1775,7 +1771,7 @@ static int savage_map_video(struct fb_info *info, int video_len) par->video.pbase = pci_resource_start(par->pcidev, resource); par->video.len = video_len; - par->video.vbase = ioremap(par->video.pbase, par->video.len); + par->video.vbase = ioremap_wc(par->video.pbase, par->video.len); if (!par->video.vbase) { printk("savagefb: unable to map screen memory\n"); @@ -1787,11 +1783,7 @@ static int savage_map_video(struct fb_info *info, int video_len) info->fix.smem_start = par->video.pbase; info->fix.smem_len = par->video.len - par->cob_size; info->screen_base = par->video.vbase; - -#ifdef CONFIG_MTRR - par->video.mtrr = mtrr_add(par->video.pbase, video_len, - MTRR_TYPE_WRCOMB, 1); -#endif + par->video.wc_cookie = arch_phys_wc_add(par->video.pbase, video_len); /* Clear framebuffer, it's all white in memory after boot */ memset_io(par->video.vbase, 0, par->video.len); @@ -1806,10 +1798,7 @@ static void savage_unmap_video(struct fb_info *info) DBG("savage_unmap_video"); if (par->video.vbase) { -#ifdef CONFIG_MTRR - mtrr_del(par->video.mtrr, par->video.pbase, par->video.len); -#endif - + arch_phys_wc_del(par->video.wc_cookie); iounmap(par->video.vbase); par->video.vbase = NULL; info->screen_base = NULL;