linux_dsm_epyc7002/drivers/video/fbdev
Luis R. Rodriguez 127b0c94cf video: fbdev: vesafb: use arch_phys_wc_add()
This driver uses the same area for MTRR as for the ioremap_wc(), if
anything it just uses a smaller size in case MTRR reservation fails.
ioremap_wc() API is already used to take advantage of architecture
write-combining when available.

Convert the driver from using the x86 specific MTRR code to
the architecture agnostic arch_phys_wc_add(). arch_phys_wc_add()
will avoid MTRR if write-combining is available.

There are a few motivations for this:

a) Take advantage of PAT when available

b) Help bury MTRR code away, MTRR is architecture specific and on
   x86 its replaced by PAT

c) Help with the goal of eventually using _PAGE_CACHE_UC over
   _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
   de33c442e titled "x86 PAT: fix performance drop for glx,
   use UC minus for ioremap(), ioremap_nocache() and
   pci_mmap_page_range()")

The conversion done is expressed by the following Coccinelle
SmPL patch, it additionally required manual intervention to
address all the #ifdery and removal of redundant things which
arch_phys_wc_add() already addresses such as verbose message
about when MTRR fails and doing nothing when we didn't get
an MTRR.

@ mtrr_found @
expression index, base, size;
@@

-index = mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
+index = arch_phys_wc_add(base, size);

@ mtrr_rm depends on mtrr_found @
expression mtrr_found.index, mtrr_found.base, mtrr_found.size;
@@

-mtrr_del(index, base, size);
+arch_phys_wc_del(index);

@ mtrr_rm_zero_arg depends on mtrr_found @
expression mtrr_found.index;
@@

-mtrr_del(index, 0, 0);
+arch_phys_wc_del(index);

@ mtrr_rm_fb_info depends on mtrr_found @
struct fb_info *info;
expression mtrr_found.index;
@@

-mtrr_del(index, info->fix.smem_start, info->fix.smem_len);
+arch_phys_wc_del(index);

@ ioremap_replace_nocache depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap_nocache(base, size);
+info->screen_base = ioremap_wc(base, size);

@ ioremap_replace_default depends on mtrr_found @
struct fb_info *info;
expression base, size;
@@

-info->screen_base = ioremap(base, size);
+info->screen_base = ioremap_wc(base, size);

Generated-by: Coccinelle SmPL
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: Suresh Siddha <sbsiddha@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Juergen Gross <jgross@suse.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Antonino Daplas <adaplas@gmail.com>
Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Wolfram Sang <wsa@the-dreams.de>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2015-06-16 09:42:11 +03:00
..
aty video: fbdev: aty: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
core framebuffer: don't link fb_devio into kernel image unconditionally 2015-05-07 13:59:45 +03:00
exynos Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
geode video: fbdev: geode gxfb: use ioremap_wc() for framebuffer 2015-06-03 12:41:53 +03:00
i810 video: fbdev: i810: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
intelfb video: fbdev: intelfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
kyro video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
matrox video: fbdev: matrox: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
mb862xx video: fbdev: mb862xx: drop owner assignment from platform_drivers 2014-10-20 16:21:52 +02:00
mbx video/mbx: indent some if statements 2014-07-01 13:32:30 +03:00
mmp video/mmpfb: allow modular build 2015-01-30 09:45:20 +02:00
msm msm: msm_fb: Move to using managed resources of kzalloc 2014-08-26 15:53:33 +03:00
nvidia video: fbdev: nvidia: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
omap video: omap/h3: fix tps65010 dependency 2015-05-27 12:54:47 +03:00
omap2 fbdev: omap2: remove potential format string leak 2015-06-12 12:37:45 +03:00
riva video: fbdev: rivafb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
savage video: fbdev: savagefb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
sis video: fbdev: sisfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:50 +03:00
vermilion x86: Use new cache mode type in drivers/video/fbdev/vermilion 2014-11-16 11:04:25 +01:00
via fbdev: via/via_clock: fix sparse warning 2015-03-02 13:17:25 +02:00
68328fb.c video: 68328fb: remove check for CONFIG_FB_68328_INVERT 2014-06-24 10:55:13 +03:00
acornfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
acornfb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
amba-clcd-versatile.c video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
amba-clcd.c video: ARM CLCD: Add missing error check for devm_kzalloc 2015-02-26 10:23:15 +02:00
amifb.c video: fbdev: use swap() in ami_set_sprite() 2015-05-27 12:54:48 +03:00
arcfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
arkfb.c video: fbdev: arkfb: suppress build warning 2014-12-04 15:41:18 +02:00
asiliantfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb_iplan2p2.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb_iplan2p4.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb_iplan2p8.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb_mfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb_utils.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atafb.c video: atafb: Remove obsolete IRQ_TYPE_PRIO 2015-01-15 13:44:51 +01:00
atafb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
atmel_lcdfb.c video: fbdev: atmel_lcdfb: use ioremap_wc() for framebuffer 2015-06-03 12:41:53 +03:00
au1100fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1100fb.h MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1200fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
au1200fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
auo_k190x.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
auo_k190x.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
auo_k1900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
auo_k1901fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf54x-lq043fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bf537-lq035.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
bfin_adv7393fb.c fb: adv7393: add missing semicolon 2014-07-01 13:18:38 +03:00
bfin_adv7393fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
bfin-lq035q1-fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
bfin-t350mcqb-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
broadsheetfb.c fbdev/broadsheetfb: fix memory leak 2015-01-13 15:13:45 +02:00
bt431.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
bt455.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
bw2.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
c2p_core.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
c2p_iplan2.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
c2p_planar.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
c2p.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
carminefb_regs.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
carminefb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
carminefb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
cg3.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg6.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cg14.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
chipsfb.c fbdev: Remove __init from chips_hw_init() to fix build failure 2014-08-26 12:48:34 +03:00
cirrusfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
clps711x-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
clps711xfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
cobalt_lcdfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
controlfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
controlfb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
cyber2000fb.c video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info 2014-09-30 13:06:01 +03:00
cyber2000fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
da8xx-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
dnfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
edid.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
efifb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
ep93xx-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fb-puv3.c drivers/video/fbdev/fb-puv3.c: Add header files for function unifb_mmap 2014-05-23 13:51:10 +03:00
ffb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
fm2fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
fsl-diu-fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
g364fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
gbefb.c video: fbdev: gbefb: use arch_phys_wc_add() and devm_ioremap_wc() 2015-06-03 12:41:46 +03:00
goldfishfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
grvga.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
gxt4500.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
hecubafb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hgafb.c video: hgafb: remove unneeded comparison 2015-01-26 14:43:06 +02:00
hitfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
hpfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
hyperv_fb.c hyperv: hyperv_fb: match wait_for_completion_timeout return type 2015-03-10 14:37:46 +02:00
i740_reg.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
i740fb.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
igafb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
imsttfb.c fbdev: imsttfb: remove the dependency on PPC_OF 2015-03-17 20:04:31 +11:00
imxfb.c video: fbdev: imxfb: Constify platform_device_id 2015-06-12 12:40:27 +03:00
jz4740_fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
Kconfig fbdev: ssd1307fb: add backlight controls for setting the contrast 2015-05-27 12:54:37 +03:00
leo.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
macfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
macmodes.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
macmodes.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
Makefile fbdev changes for 3.17 2014-08-08 18:09:33 -07:00
maxinefb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
metronomefb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
mx3fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
mxsfb.c video: fbdev: mxsfb: Constify platform_device_id 2015-06-12 12:40:27 +03:00
n411.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
neofb.c video: fbdev: neofb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:49 +03:00
nuc900fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
nuc900fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
ocfb.c video: ocfb: Fix data type warning 2015-01-13 12:53:25 +02:00
offb.c Revert "offb: Add palette hack for little endian" 2014-06-16 19:45:45 +10:00
p9100.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
platinumfb.c powerpc: Move Power Macintosh drivers to generic byteswappers 2015-03-23 14:29:40 +11:00
platinumfb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pm2fb.c video: fbdev: pm2fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:51 +03:00
pm3fb.c video: fbdev: pm3fb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
pmag-aa-fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pmag-ba-fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pmagb-b-fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
ps3fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pvr2fb.c mm: gup: use get_user_pages_unlocked 2015-02-11 17:06:05 -08:00
pxa3xx-gcu.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
pxa3xx-gcu.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pxa168fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
pxa168fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
pxafb.c video: fbdev: use msecs_to_jiffies for time conversions 2015-03-10 14:32:13 +02:00
pxafb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
q40fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
s1d13xxxfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
s3c2410fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
s3c2410fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
s3c-fb.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
s3fb.c video: fbdev: s3fb: suppress build warning 2014-12-04 15:41:18 +02:00
sa1100fb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
sa1100fb.h ARM: 8244/1: fbdev: sa1100fb: make use of device clock 2014-12-05 16:30:25 +00:00
sbuslib.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sbuslib.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sh7760fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sh_mipi_dsi.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume 2014-09-30 13:42:13 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex 2015-04-07 16:24:15 +03:00
sh_mobile_lcdcfb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sh_mobile_meram.c More ACPI and power management updates for 3.19-rc1 2014-12-18 20:28:33 -08:00
simplefb.c simplefb: Fix build failure on Sparc 2015-01-13 13:25:16 +02:00
skeletonfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sm501fb.c fbdev: sm501fb: use memset_io 2015-03-02 13:17:24 +02:00
smscufx.c video: smscufx: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
ssd1307fb.c fbdev: ssd1307fb: fix logical error 2015-05-27 12:54:48 +03:00
sstfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sticore.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
stifb.c video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info 2014-09-30 13:06:00 +03:00
sunxvr500.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
sunxvr1000.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
sunxvr2500.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
tcx.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
tdfxfb.c video: fbdev: tdfxfb: use arch_phys_wc_add() and ioremap_wc() 2015-06-03 12:41:52 +03:00
tgafb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
tmiofb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
tridentfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
udlfb.c video: udlfb: Deletion of unnecessary checks before the function call "vfree" 2014-12-04 16:16:01 +02:00
uvesafb.c video: uvesafb: Deletion of an unnecessary check before the function call "platform_device_put" 2014-12-04 16:16:02 +02:00
valkyriefb.c video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info 2014-09-30 13:06:01 +03:00
valkyriefb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
vesafb.c video: fbdev: vesafb: use arch_phys_wc_add() 2015-06-16 09:42:11 +03:00
vfb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
vga16fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
vt8500lcdfb.c video: vt8500lcdfb: remove unneeded continue 2015-01-13 13:35:04 +02:00
vt8500lcdfb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
vt8623fb.c video: fbdev: vt8623fb: suppress build warning 2014-12-04 15:41:18 +02:00
w100fb.c video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
w100fb.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
wm8505fb_regs.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
wm8505fb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00
wmt_ge_rops.h video: move fbdev to drivers/video/fbdev 2014-04-17 08:10:19 +03:00
xen-fbfront.c xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
xilinxfb.c video: fbdev: drop owner assignment from platform_drivers 2014-10-20 16:21:51 +02:00