|
@@ -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
|
|
|
-
|