diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-08 01:01:14 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-09-08 01:01:14 -0300 |
commit | e5fd91f1ef340da553f7a79da9540c3db711c937 (patch) | |
tree | b11842027dc6641da63f4bcc524f8678263304a3 /drivers/video/fbdev/aty | |
parent | 2a9b0348e685a63d97486f6749622b61e9e3292f (diff) |
Linux-libre 4.2-gnu
Diffstat (limited to 'drivers/video/fbdev/aty')
-rw-r--r-- | drivers/video/fbdev/aty/aty128fb.c | 36 | ||||
-rw-r--r-- | drivers/video/fbdev/aty/radeon_base.c | 29 | ||||
-rw-r--r-- | drivers/video/fbdev/aty/radeonfb.h | 2 |
3 files changed, 13 insertions, 54 deletions
diff --git a/drivers/video/fbdev/aty/aty128fb.c b/drivers/video/fbdev/aty/aty128fb.c index 0156954bf..c42ce2fdf 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 - diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c index 01237c8fc..2bdb07070 100644 --- a/drivers/video/fbdev/aty/radeon_base.c +++ b/drivers/video/fbdev/aty/radeon_base.c @@ -85,10 +85,6 @@ #endif /* CONFIG_PPC */ -#ifdef CONFIG_MTRR -#include <asm/mtrr.h> -#endif - #include <video/radeon.h> #include <linux/radeonfb.h> @@ -271,9 +267,7 @@ static bool mirror = 0; static int panel_yres = 0; static bool force_dfp = 0; static bool force_measure_pll = 0; -#ifdef CONFIG_MTRR static bool nomtrr = 0; -#endif static bool force_sleep; static bool ignore_devlist; #ifdef CONFIG_PMAC_BACKLIGHT @@ -2260,8 +2254,8 @@ static int radeonfb_pci_register(struct pci_dev *pdev, rinfo->mapped_vram = min_t(unsigned long, MAX_MAPPED_VRAM, rinfo->video_ram); do { - rinfo->fb_base = ioremap (rinfo->fb_base_phys, - rinfo->mapped_vram); + rinfo->fb_base = ioremap_wc(rinfo->fb_base_phys, + rinfo->mapped_vram); } while (rinfo->fb_base == NULL && ((rinfo->mapped_vram /= 2) >= MIN_MAPPED_VRAM)); @@ -2359,11 +2353,9 @@ static int radeonfb_pci_register(struct pci_dev *pdev, goto err_unmap_fb; } -#ifdef CONFIG_MTRR - rinfo->mtrr_hdl = nomtrr ? -1 : mtrr_add(rinfo->fb_base_phys, - rinfo->video_ram, - MTRR_TYPE_WRCOMB, 1); -#endif + if (!nomtrr) + rinfo->wc_cookie = arch_phys_wc_add(rinfo->fb_base_phys, + rinfo->video_ram); if (backlight) radeonfb_bl_init(rinfo); @@ -2428,12 +2420,7 @@ static void radeonfb_pci_unregister(struct pci_dev *pdev) #endif del_timer_sync(&rinfo->lvds_timer); - -#ifdef CONFIG_MTRR - if (rinfo->mtrr_hdl >= 0) - mtrr_del(rinfo->mtrr_hdl, 0, 0); -#endif - + arch_phys_wc_del(rinfo->wc_cookie); unregister_framebuffer(info); radeonfb_bl_exit(rinfo); @@ -2489,10 +2476,8 @@ static int __init radeonfb_setup (char *options) panel_yres = simple_strtoul((this_opt+11), 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 = 1; -#endif } else if (!strncmp(this_opt, "nomodeset", 9)) { nomodeset = 1; } else if (!strncmp(this_opt, "force_measure_pll", 17)) { @@ -2552,10 +2537,8 @@ module_param(monitor_layout, charp, 0); MODULE_PARM_DESC(monitor_layout, "Specify monitor mapping (like XFree86)"); module_param(force_measure_pll, bool, 0); MODULE_PARM_DESC(force_measure_pll, "Force measurement of PLL (debug)"); -#ifdef CONFIG_MTRR module_param(nomtrr, bool, 0); MODULE_PARM_DESC(nomtrr, "bool: disable use of MTRR registers"); -#endif module_param(panel_yres, int, 0); MODULE_PARM_DESC(panel_yres, "int: set panel yres"); module_param(mode_option, charp, 0); diff --git a/drivers/video/fbdev/aty/radeonfb.h b/drivers/video/fbdev/aty/radeonfb.h index 039def41c..5bc1944ea 100644 --- a/drivers/video/fbdev/aty/radeonfb.h +++ b/drivers/video/fbdev/aty/radeonfb.h @@ -340,7 +340,7 @@ struct radeonfb_info { struct pll_info pll; - int mtrr_hdl; + int wc_cookie; u32 save_regs[100]; int asleep; |