From e5fd91f1ef340da553f7a79da9540c3db711c937 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 8 Sep 2015 01:01:14 -0300 Subject: Linux-libre 4.2-gnu --- drivers/video/fbdev/intelfb/intelfb.h | 4 +--- drivers/video/fbdev/intelfb/intelfbdrv.c | 38 ++++---------------------------- 2 files changed, 5 insertions(+), 37 deletions(-) (limited to 'drivers/video/fbdev/intelfb') diff --git a/drivers/video/fbdev/intelfb/intelfb.h b/drivers/video/fbdev/intelfb/intelfb.h index 6b5117562..37f8339ea 100644 --- a/drivers/video/fbdev/intelfb/intelfb.h +++ b/drivers/video/fbdev/intelfb/intelfb.h @@ -285,9 +285,7 @@ struct intelfb_info { /* use a gart reserved fb mem */ u8 fbmem_gart; - /* mtrr support */ - int mtrr_reg; - u32 has_mtrr; + int wc_cookie; /* heap data */ struct intelfb_heap_data aperture; diff --git a/drivers/video/fbdev/intelfb/intelfbdrv.c b/drivers/video/fbdev/intelfb/intelfbdrv.c index b847d5304..bbec737ee 100644 --- a/drivers/video/fbdev/intelfb/intelfbdrv.c +++ b/drivers/video/fbdev/intelfb/intelfbdrv.c @@ -124,10 +124,6 @@ #include -#ifdef CONFIG_MTRR -#include -#endif - #include "intelfb.h" #include "intelfbhw.h" #include "../edid.h" @@ -410,33 +406,6 @@ static void __exit intelfb_exit(void) module_init(intelfb_init); module_exit(intelfb_exit); -/*************************************************************** - * mtrr support functions * - ***************************************************************/ - -#ifdef CONFIG_MTRR -static inline void set_mtrr(struct intelfb_info *dinfo) -{ - dinfo->mtrr_reg = mtrr_add(dinfo->aperture.physical, - dinfo->aperture.size, MTRR_TYPE_WRCOMB, 1); - if (dinfo->mtrr_reg < 0) { - ERR_MSG("unable to set MTRR\n"); - return; - } - dinfo->has_mtrr = 1; -} -static inline void unset_mtrr(struct intelfb_info *dinfo) -{ - if (dinfo->has_mtrr) - mtrr_del(dinfo->mtrr_reg, dinfo->aperture.physical, - dinfo->aperture.size); -} -#else -#define set_mtrr(x) WRN_MSG("MTRR is disabled in the kernel\n") - -#define unset_mtrr(x) do { } while (0) -#endif /* CONFIG_MTRR */ - /*************************************************************** * driver init / cleanup * ***************************************************************/ @@ -456,7 +425,7 @@ static void cleanup(struct intelfb_info *dinfo) if (dinfo->registered) unregister_framebuffer(dinfo->info); - unset_mtrr(dinfo); + arch_phys_wc_del(dinfo->wc_cookie); if (dinfo->fbmem_gart && dinfo->gtt_fb_mem) { agp_unbind_memory(dinfo->gtt_fb_mem); @@ -675,7 +644,7 @@ static int intelfb_pci_register(struct pci_dev *pdev, /* Allocate memories (which aren't stolen) */ /* Map the fb and MMIO regions */ /* ioremap only up to the end of used aperture */ - dinfo->aperture.virtual = (u8 __iomem *)ioremap_nocache + dinfo->aperture.virtual = (u8 __iomem *)ioremap_wc (dinfo->aperture.physical, ((offset + dinfo->fb.offset) << 12) + dinfo->fb.size); if (!dinfo->aperture.virtual) { @@ -772,7 +741,8 @@ static int intelfb_pci_register(struct pci_dev *pdev, agp_backend_release(bridge); if (mtrr) - set_mtrr(dinfo); + dinfo->wc_cookie = arch_phys_wc_add(dinfo->aperture.physical, + dinfo->aperture.size); DBG_MSG("fb: 0x%x(+ 0x%x)/0x%x (0x%p)\n", dinfo->fb.physical, dinfo->fb.offset, dinfo->fb.size, -- cgit v1.2.3-54-g00ecf