|
@@ -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");
|