diff options
Diffstat (limited to 'drivers/video/fbdev/aty/aty128fb.c')
-rw-r--r-- | drivers/video/fbdev/aty/aty128fb.c | 36 |
1 files changed, 6 insertions, 30 deletions
diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c index 0156954bf340..c42ce2fdfd44 100644 --- a/drivers/video/fbdev/aty/aty128fb.c +++ b/drivers/video/fbdev/aty/aty128fb.c @@ -80,10 +80,6 @@ #include <asm/btext.h> #endif /* CONFIG_BOOTX_TEXT */ -#ifdef CONFIG_MTRR -#include <asm/mtrr.h> -#endif - #include <video/aty128.h> /* Debug flag */ @@ -399,10 +395,7 @@ static int default_cmode = CMODE_8; static int default_crt_on = 0; static int default_lcd_on = 1; - -#ifdef CONFIG_MTRR static bool mtrr = true; -#endif #ifdef CONFIG_FB_ATY128_BACKLIGHT #ifdef CONFIG_PMAC_BACKLIGHT @@ -456,9 +449,7 @@ struct aty128fb_par { u32 vram_size; /* onboard video ram */ int chip_gen; const struct aty128_meminfo *mem; /* onboard mem info */ -#ifdef CONFIG_MTRR - struct { int vram; int vram_valid; } mtrr; -#endif + int wc_cookie; int blitter_may_be_busy; int fifo_slots; /* free slots in FIFO (64 max) */ @@ -1725,12 +1716,10 @@ static int aty128fb_setup(char *options) #endif continue; } -#ifdef CONFIG_MTRR if(!strncmp(this_opt, "nomtrr", 6)) { mtrr = 0; continue; } -#endif #ifdef CONFIG_PPC_PMAC /* vmode and cmode deprecated */ if (!strncmp(this_opt, "vmode:", 6)) { @@ -2133,7 +2122,7 @@ static int aty128_probe(struct pci_dev *pdev, const struct pci_device_id *ent) par->vram_size = aty_ld_le32(CNFG_MEMSIZE) & 0x03FFFFFF; /* Virtualize the framebuffer */ - info->screen_base = ioremap(fb_addr, par->vram_size); + info->screen_base = ioremap_wc(fb_addr, par->vram_size); if (!info->screen_base) goto err_unmap_out; @@ -2170,15 +2159,9 @@ static int aty128_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (!aty128_init(pdev, ent)) goto err_out; -#ifdef CONFIG_MTRR - if (mtrr) { - par->mtrr.vram = mtrr_add(info->fix.smem_start, - par->vram_size, MTRR_TYPE_WRCOMB, 1); - par->mtrr.vram_valid = 1; - /* let there be speed */ - printk(KERN_INFO "aty128fb: Rage128 MTRR set to ON\n"); - } -#endif /* CONFIG_MTRR */ + if (mtrr) + par->wc_cookie = arch_phys_wc_add(info->fix.smem_start, + par->vram_size); return 0; err_out: @@ -2212,11 +2195,7 @@ static void aty128_remove(struct pci_dev *pdev) aty128_bl_exit(info->bl_dev); #endif -#ifdef CONFIG_MTRR - if (par->mtrr.vram_valid) - mtrr_del(par->mtrr.vram, info->fix.smem_start, - par->vram_size); -#endif /* CONFIG_MTRR */ + arch_phys_wc_del(par->wc_cookie); iounmap(par->regbase); iounmap(info->screen_base); @@ -2625,8 +2604,5 @@ MODULE_DESCRIPTION("FBDev driver for ATI Rage128 / Pro cards"); MODULE_LICENSE("GPL"); module_param(mode_option, charp, 0); MODULE_PARM_DESC(mode_option, "Specify resolution as \"<xres>x<yres>[-<bpp>][@<refresh>]\" "); -#ifdef CONFIG_MTRR module_param_named(nomtrr, mtrr, invbool, 0); MODULE_PARM_DESC(nomtrr, "bool: Disable MTRR support (0 or 1=disabled) (default=0)"); -#endif - |