linux/drivers/video/fbdev
Linus Torvalds a023748d53 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm tree changes from Ingo Molnar:
 "The biggest change is full PAT support from Jürgen Gross:

     The x86 architecture offers via the PAT (Page Attribute Table) a
     way to specify different caching modes in page table entries.  The
     PAT MSR contains 8 entries each specifying one of 6 possible cache
     modes.  A pte references one of those entries via 3 bits:
     _PAGE_PAT, _PAGE_PWT and _PAGE_PCD.

     The Linux kernel currently supports only 4 different cache modes.
     The PAT MSR is set up in a way that the setting of _PAGE_PAT in a
     pte doesn't matter: the top 4 entries in the PAT MSR are the same
     as the 4 lower entries.

     This results in the kernel not supporting e.g. write-through mode.
     Especially this cache mode would speed up drivers of video cards
     which now have to use uncached accesses.

     OTOH some old processors (Pentium) don't support PAT correctly and
     the Xen hypervisor has been using a different PAT MSR configuration
     for some time now and can't change that as this setting is part of
     the ABI.

     This patch set abstracts the cache mode from the pte and introduces
     tables to translate between cache mode and pte bits (the default
     cache mode "write back" is hard-wired to PAT entry 0).  The tables
     are statically initialized with values being compatible to old
     processors and current usage.  As soon as the PAT MSR is changed
     (or - in case of Xen - is read at boot time) the tables are changed
     accordingly.  Requests of mappings with special cache modes are
     always possible now, in case they are not supported there will be a
     fallback to a compatible but slower mode.

     Summing it up, this patch set adds the following features:

      - capability to support WT and WP cache modes on processors with
        full PAT support

      - processors with no or uncorrect PAT support are still working as
        today, even if WT or WP cache mode are selected by drivers for
        some pages

      - reduction of Xen special handling regarding cache mode

  Another change is a boot speedup on ridiculously large RAM systems,
  plus other smaller fixes"

* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
  x86: mm: Move PAT only functions to mm/pat.c
  xen: Support Xen pv-domains using PAT
  x86: Enable PAT to use cache mode translation tables
  x86: Respect PAT bit when copying pte values between large and normal pages
  x86: Support PAT bit in pagetable dump for lower levels
  x86: Clean up pgtable_types.h
  x86: Use new cache mode type in memtype related functions
  x86: Use new cache mode type in mm/ioremap.c
  x86: Use new cache mode type in setting page attributes
  x86: Remove looking for setting of _PAGE_PAT_LARGE in pageattr.c
  x86: Use new cache mode type in track_pfn_remap() and track_pfn_insert()
  x86: Use new cache mode type in mm/iomap_32.c
  x86: Use new cache mode type in asm/pgtable.h
  x86: Use new cache mode type in arch/x86/mm/init_64.c
  x86: Use new cache mode type in arch/x86/pci
  x86: Use new cache mode type in drivers/video/fbdev/vermilion
  x86: Use new cache mode type in drivers/video/fbdev/gbefb.c
  x86: Use new cache mode type in include/asm/fb.h
  x86: Make page cache mode a real type
  x86: mm: Use 2GB memory block size on large-memory x86-64 systems
  ...
2014-12-10 13:59:34 -08:00
..
aty video: fbdev: aty: use c99 initializers in structures 2014-08-26 15:52:39 +03:00
core fbdev changes for 3.18 2014-10-18 18:03:02 -07:00
exynos backlight: Remove trivial get_brightness implementations 2014-06-23 13:24:22 +01:00
geode
i810
intelfb video: fbdev: intelfb: delete double assignment 2014-08-26 15:53:34 +03:00
kyro
matrox video: fbdev: matrox: use c99 initializers in structures 2014-08-26 15:52:38 +03:00
mb862xx
mbx video/mbx: indent some if statements 2014-07-01 13:32:30 +03:00
mmp video: mmpfb: cleanup some static checker warnings in probe() 2014-04-30 13:57:29 +03:00
msm msm: msm_fb: Move to using managed resources of kzalloc 2014-08-26 15:53:33 +03:00
nvidia backlight: Remove trivial get_brightness implementations 2014-06-23 13:24:22 +01:00
omap video: omap: delete support for early fbmem allocation 2014-05-16 11:56:12 +03:00
omap2 omap: dss: connector-analog-tv: Add missing module device table 2014-10-30 14:51:59 +02:00
riva video: fbdev: riva: delete double assignment 2014-08-26 15:53:34 +03:00
savage
sis fbdev changes for 3.18 2014-10-18 18:03:02 -07:00
vermilion x86: Use new cache mode type in drivers/video/fbdev/vermilion 2014-11-16 11:04:25 +01:00
via driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
68328fb.c video: 68328fb: remove check for CONFIG_FB_68328_INVERT 2014-06-24 10:55:13 +03:00
acornfb.c
acornfb.h
amba-clcd-versatile.c video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
amba-clcd.c video: ARM CLCD: Fix color model capabilities for DT platforms 2014-09-12 11:45:10 +03:00
amifb.c
arcfb.c
arkfb.c
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c m68k/atari - atafb: convert allocation of fb ram to new interface 2014-05-26 22:41:24 +02:00
atafb.h
atmel_lcdfb.c drivers: video: fbdev: atmel_lcdfb.c: remove unnecessary header 2014-10-22 10:00:26 +03:00
au1100fb.c MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1100fb.h MIPS: Alchemy: au1100fb: use clk framework 2014-07-30 14:10:39 +02:00
au1200fb.c video: fbdev: au1200fb: delete double assignment 2014-08-26 15:53:35 +03:00
au1200fb.h
auo_k190x.c
auo_k190x.h
auo_k1900fb.c
auo_k1901fb.c
bf54x-lq043fb.c video: delete unneeded call to platform_get_drvdata 2014-05-19 16:03:57 +03:00
bf537-lq035.c
bfin_adv7393fb.c fb: adv7393: add missing semicolon 2014-07-01 13:18:38 +03:00
bfin_adv7393fb.h
bfin-lq035q1-fb.c
bfin-t350mcqb-fb.c
broadsheetfb.c
bt431.h
bt455.h
bw2.c
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c
carminefb.h
cg3.c
cg6.c
cg14.c
chipsfb.c fbdev: Remove __init from chips_hw_init() to fix build failure 2014-08-26 12:48:34 +03:00
cirrusfb.c
clps711x-fb.c video: clps711x: Fix sparse warnings 2014-07-04 11:04:45 +03:00
clps711xfb.c
cobalt_lcdfb.c
controlfb.c video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info 2014-09-30 13:06:00 +03:00
controlfb.h
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
da8xx-fb.c video: da8xx-fb: preserve display width when changing HSYNC 2014-08-26 15:36:51 +03:00
dnfb.c
edid.h
efifb.c x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup() 2014-07-10 16:48:48 -06:00
ep93xx-fb.c
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
fm2fb.c
fsl-diu-fb.c
g364fb.c
gbefb.c x86: Use new cache mode type in drivers/video/fbdev/gbefb.c 2014-11-16 11:04:25 +01:00
goldfishfb.c
grvga.c video: fbdev: grvga.c: Fix for possible null pointer dereference 2014-05-23 13:47:31 +03:00
gxt4500.c
hecubafb.c
hgafb.c
hitfb.c
hpfb.c
hyperv_fb.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
i740_reg.h
i740fb.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
igafb.c
imsttfb.c
imxfb.c
jz4740_fb.c
Kconfig ARM: at91/Kconfig: remove useless fbdev Kconfig options 2014-11-21 12:18:40 +01:00
leo.c
macfb.c
macmodes.c
macmodes.h
Makefile fbdev changes for 3.17 2014-08-08 18:09:33 -07:00
maxinefb.c
metronomefb.c
mx3fb.c Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-10-18 18:11:04 -07:00
mxsfb.c
n411.c
neofb.c
nuc900fb.c
nuc900fb.h
ocfb.c
offb.c Revert "offb: Add palette hack for little endian" 2014-06-16 19:45:45 +10:00
p9100.c
platinumfb.c
platinumfb.h
pm2fb.c
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
pvr2fb.c video: fbdev: replace strnicmp with strncasecmp 2014-10-14 02:18:24 +02:00
pxa3xx-gcu.c video: pxa3xx-gcu: use devm_ioremap_resource() 2014-04-30 14:02:15 +03:00
pxa3xx-gcu.h
pxa168fb.c
pxa168fb.h
pxafb.c video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info 2014-09-30 13:06:01 +03:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c video: fbdev: replace strnicmp with strncasecmp 2014-10-14 02:18:24 +02:00
s3c2410fb.h
s3c-fb.c video: fbdev: s3c-fb: remove s5pc100 related fimd and fb codes 2014-07-13 07:35:15 +09:00
s3fb.c video: fbdev: s3fb.c: Fix for possible null pointer dereference 2014-05-23 13:47:31 +03:00
sa1100fb.c video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info 2014-09-30 13:06:00 +03:00
sa1100fb.h
sbuslib.c
sbuslib.h
sh7760fb.c
sh_mipi_dsi.c
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
sh_mobile_lcdcfb.h
sh_mobile_meram.c
simplefb.c
skeletonfb.c
sm501fb.c video: fbdev: replace strnicmp with strncasecmp 2014-10-14 02:18:24 +02:00
smscufx.c
ssd1307fb.c
sstfb.c
sticore.h
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
sunxvr1000.c
sunxvr2500.c
tcx.c
tdfxfb.c
tgafb.c
tmiofb.c
tridentfb.c
udlfb.c video: fbdev: use %*ph specifier to dump small buffers 2014-09-09 14:03:34 +03:00
uvesafb.c
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
vesafb.c
vfb.c
vga16fb.c
vt8500lcdfb.c video: vt8500lcdfb: Remove kfree call since devm_kzalloc() is used 2014-06-26 14:40:07 +03:00
vt8500lcdfb.h
vt8623fb.c
w100fb.c
w100fb.h
wm8505fb_regs.h
wm8505fb.c video: fbdev: Fix format string mismatch in wm8505fb.c 2014-04-30 11:24:40 +03:00
wmt_ge_rops.c
wmt_ge_rops.h
xen-fbfront.c xen: remove DEFINE_XENBUS_DRIVER() macro 2014-10-06 10:27:57 +01:00
xilinxfb.c