diff options
Diffstat (limited to 'drivers/video/fbdev/nvidia/nvidia.c')
-rw-r--r-- | drivers/video/fbdev/nvidia/nvidia.c | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/drivers/video/fbdev/nvidia/nvidia.c b/drivers/video/fbdev/nvidia/nvidia.c index 4273c6ee8..ce7dab729 100644 --- a/drivers/video/fbdev/nvidia/nvidia.c +++ b/drivers/video/fbdev/nvidia/nvidia.c @@ -21,9 +21,6 @@ #include <linux/pci.h> #include <linux/console.h> #include <linux/backlight.h> -#ifdef CONFIG_MTRR -#include <asm/mtrr.h> -#endif #ifdef CONFIG_BOOTX_TEXT #include <asm/btext.h> #endif @@ -76,9 +73,7 @@ static int paneltweak = 0; static int vram = 0; static int bpp = 8; static int reverse_i2c; -#ifdef CONFIG_MTRR static bool nomtrr = false; -#endif #ifdef CONFIG_PMAC_BACKLIGHT static int backlight = 1; #else @@ -1361,7 +1356,8 @@ static int nvidiafb_probe(struct pci_dev *pd, const struct pci_device_id *ent) par->ScratchBufferStart = par->FbUsableSize - par->ScratchBufferSize; par->CursorStart = par->FbUsableSize + (32 * 1024); - info->screen_base = ioremap(nvidiafb_fix.smem_start, par->FbMapSize); + info->screen_base = ioremap_wc(nvidiafb_fix.smem_start, + par->FbMapSize); info->screen_size = par->FbUsableSize; nvidiafb_fix.smem_len = par->RamAmountKBytes * 1024; @@ -1372,20 +1368,9 @@ static int nvidiafb_probe(struct pci_dev *pd, const struct pci_device_id *ent) par->FbStart = info->screen_base; -#ifdef CONFIG_MTRR - if (!nomtrr) { - par->mtrr.vram = mtrr_add(nvidiafb_fix.smem_start, - par->RamAmountKBytes * 1024, - MTRR_TYPE_WRCOMB, 1); - if (par->mtrr.vram < 0) { - printk(KERN_ERR PFX "unable to setup MTRR\n"); - } else { - par->mtrr.vram_valid = 1; - /* let there be speed */ - printk(KERN_INFO PFX "MTRR set to ON\n"); - } - } -#endif /* CONFIG_MTRR */ + if (!nomtrr) + par->wc_cookie = arch_phys_wc_add(nvidiafb_fix.smem_start, + par->RamAmountKBytes * 1024); info->fbops = &nvidia_fb_ops; info->fix = nvidiafb_fix; @@ -1443,13 +1428,7 @@ static void nvidiafb_remove(struct pci_dev *pd) unregister_framebuffer(info); nvidia_bl_exit(par); - -#ifdef CONFIG_MTRR - if (par->mtrr.vram_valid) - mtrr_del(par->mtrr.vram, info->fix.smem_start, - info->fix.smem_len); -#endif /* CONFIG_MTRR */ - + arch_phys_wc_del(par->wc_cookie); iounmap(info->screen_base); fb_destroy_modedb(info->monspecs.modedb); nvidia_delete_i2c_busses(par); @@ -1501,10 +1480,8 @@ static int nvidiafb_setup(char *options) vram = simple_strtoul(this_opt+5, NULL, 0); } else if (!strncmp(this_opt, "backlight:", 10)) { backlight = simple_strtoul(this_opt+10, NULL, 0); -#ifdef CONFIG_MTRR } else if (!strncmp(this_opt, "nomtrr", 6)) { nomtrr = true; -#endif } else if (!strncmp(this_opt, "fpdither:", 9)) { fpdither = simple_strtol(this_opt+9, NULL, 0); } else if (!strncmp(this_opt, "bpp:", 4)) { @@ -1592,11 +1569,9 @@ MODULE_PARM_DESC(bpp, "pixel width in bits" "(default=8)"); module_param(reverse_i2c, int, 0); MODULE_PARM_DESC(reverse_i2c, "reverse port assignment of the i2c bus"); -#ifdef CONFIG_MTRR module_param(nomtrr, bool, false); MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) " "(default=0)"); -#endif MODULE_AUTHOR("Antonino Daplas"); MODULE_DESCRIPTION("Framebuffer driver for nVidia graphics chipset"); |