linux/drivers/video
Yannick Heneault 554ec37aca vgacon: check for efi machine
It seems there is a small problem of VGA palette corruption on EFI
machine.  When the kernel initializes the architecture, it checks if the
machine is a EFI machine and assumes that a VGA console can exist.

When it initializes the console in vgacon_startup it checks if it can
really use the VGA console.  I think this is where a check is missing.
Currently, the function can fail if a VESA boot mode is detected but not if
a EFI boot mode was used.

Thus vgacon_startup() doesn't fail and initialize the video card for a real
VGA mode.  This function changes the first 16entries of the VGA palette.

When the efifb driver kicks in, the palette is not restored to default
ramp value, thus the 16 first entry remain in a modified state.  The
following patch prevent this corruption.

Signed-off-by: Yannick Heneault <yheneaul@matrox.com>
Cc: Dave Airlie <airlied@linux.ie>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-13 08:03:12 -08:00
..
aty atyfb: Fix bootup hangs on sparc64. 2011-01-06 11:38:19 -08:00
backlight drivers/video/backlight/l4f00242t03.c: fix reset sequence 2011-01-13 08:03:06 -08:00
console vgacon: check for efi machine 2011-01-13 08:03:12 -08:00
display include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
geode lxfb: Maintain video processor palette through suspend/resume 2010-12-01 18:18:56 +09:00
i810 drivers/video/i810/i810-i2c.c: fix i2c bus handling 2011-01-06 15:52:19 +09:00
intelfb i2c: Remove unneeded inclusions of <linux/i2c-id.h> 2010-10-24 18:16:58 +02:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox drivers/video/matrox/matroxfb_maven.c: fix unsigned return type 2010-10-27 18:03:08 -07:00
mb862xx of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
mbx llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
msm drivers/video/msm/mddi.c: Remove multiple KERN_<level> uses 2010-10-27 13:43:21 -07:00
nvidia include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
omap Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
omap2 OMAP: DSS: VRAM: Align start & size of vram to 2M 2010-12-15 11:16:08 +02:00
pnx4008 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
riva i2c: Delete unused adapter IDs 2010-11-15 22:40:38 +01:00
savage savagefb: fix DDC for Savage 4 2010-10-27 18:03:08 -07:00
sis sisfb: eliminate compiler warnings 2010-12-22 12:57:27 +09:00
vermilion include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
via Merge branch 'viafb-next' of git://github.com/schandinat/linux-2.6 2010-11-10 12:04:41 +09:00
68328fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acornfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acornfb.h
amba-clcd.c VIDEO: amba clcd: don't disable an already disabled clock 2010-08-17 22:15:09 +01:00
amifb.c m68k: amiga - Frame buffer platform device conversion 2010-05-17 21:37:43 +02:00
arcfb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
arkfb.c arkfb: fix misplaced parentheses 2009-04-01 08:59:32 -07:00
asiliantfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atafb.c fbdev: atafb - Remove undead ifdef ATAFB_FALCON 2010-10-22 09:43:25 +02:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
au1100fb.c VIDEO: Au1100fb: Fix section mismatch 2010-07-26 19:08:15 +01:00
au1100fb.h
au1200fb.c replace nested max/min macros with {max,min}3 macro 2010-10-26 16:52:12 -07:00
au1200fb.h
bf54x-lq043fb.c fix printk typo 'faild' 2010-08-09 11:25:17 +02:00
bf537-lq035.c fbdev: bf537-lq035: new Blackfin Sharp LQ035 framebuffer driver 2010-11-26 15:06:34 +09:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: respect new PPI mode platform field 2010-05-25 08:07:08 -07:00
bfin-t350mcqb-fb.c fix printk typo 'faild' 2010-08-09 11:25:17 +02:00
bfin_adv7393fb.c fbdev: bfin_adv7393fb: new Blackfin ADV7393 driver 2010-11-26 15:06:39 +09:00
bfin_adv7393fb.h fbdev: bfin_adv7393fb: new Blackfin ADV7393 driver 2010-11-26 15:06:39 +09:00
broadsheetfb.c broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
bt431.h
bt455.h
bw2.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c drivers/video/carminefb.c: improve error handling 2011-01-06 15:46:56 +09:00
carminefb.h
carminefb_regs.h
cfbcopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
cg6.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
cg14.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
chipsfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cirrusfb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c cocbalt_lcdfb: correct sections 2010-05-03 15:42:58 +02:00
controlfb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
controlfb.h
cyber2000fb.c cyber2000fb: fix console in truecolor modes 2010-07-30 23:29:33 +01:00
cyber2000fb.h
da8xx-fb.c video: da8xx: Register IRQ as last thing in driver probing. 2010-12-01 18:18:52 +09:00
dnfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
edid.h
efifb.c efifb: support the EFI framebuffer on more Apple hardware 2010-09-22 17:22:39 -07:00
ep93xx-fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
epson1355fb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fb_ddc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fb_defio.c workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync() 2010-12-15 10:56:11 +01:00
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c framebuffer: fix fbcmap.c kernel-doc warning 2010-11-26 15:05:08 +09:00
fbcvt.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fbmem.c fb: fix overlapping test off-by-one. 2010-12-24 12:33:55 +09:00
fbmon.c fbdev: when parsing E-EDID blocks, also use SVD entries 2010-11-15 14:52:23 +09:00
fbsysfs.c fbdev: allow passing more than one aperture for handoff 2010-05-18 16:19:27 +10:00
ffb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fm2fb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
fsl-diu-fb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
g364fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gbefb.c drivers/video/gbefb.c: eliminate memory leak 2010-10-27 18:03:08 -07:00
gxt4500.c
hecubafb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hgafb.c video: Fix the HGA framebuffer driver 2011-01-06 15:48:13 +09:00
hitfb.c hitfb: fix sections 2010-05-25 08:07:09 -07:00
hpfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
igafb.c drivers/video/igafb.c: make igafb_setup() and igafb_init() static 2010-08-11 08:59:12 -07:00
imsttfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imxfb.c video: imxfb: Fix the maximum value for yres 2011-01-06 15:45:48 +09:00
jz4740_fb.c FBDEV: JZ4740: Add framebuffer driver 2010-08-05 13:26:17 +01:00
Kconfig Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-06 16:50:35 -08:00
leo.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
macfb.c macfb: fix 24-bit visual and stuff 2010-02-27 18:31:16 +01:00
macmodes.c fbdev: add some missing mac modes 2010-02-27 18:31:14 +01:00
macmodes.h
Makefile Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-06 16:50:35 -08:00
maxinefb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
metronomefb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
modedb.c fbdev: modedb: Add a new mode for 864x480 TAAL panels. 2011-01-06 16:02:42 +09:00
mx3fb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-12-22 12:56:10 +09:00
n411.c
neofb.c
nuc900fb.c drivers/video/nuc900fb.c: fix lcd build error 2010-06-29 15:29:32 -07:00
nuc900fb.h NUC900 LCD Controller Driver 2010-03-12 15:52:34 -08:00
offb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
output.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
p9100.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
platinumfb.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
platinumfb.h
pm2fb.c tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
pm3fb.c
pmag-aa-fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pmag-ba-fb.c VIDEO: PMAG-BA: Fix section mismatch 2010-07-26 19:08:14 +01:00
pmagb-b-fb.c VIDEO: PMAGB-B: Fix section mismatch 2010-07-26 19:08:15 +01:00
ps3fb.c powerpc/cell: Move CBE_IOPTE_* to <asm/cell-regs.h> 2009-08-20 10:29:26 +10:00
pvr2fb.c sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. 2010-02-17 13:23:00 +09:00
pxa3xx-gcu.c video: add driver for PXA3xx 2D graphics accelerator 2010-12-16 14:31:18 +08:00
pxa3xx-gcu.h video: add driver for PXA3xx 2D graphics accelerator 2010-12-16 14:31:18 +08:00
pxa168fb.c ARM: pxa168fb: add .remove function 2010-10-09 17:07:23 +08:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c [ARM] pxafb: fix building issue of incorrect reference 2009-12-29 14:11:27 +08:00
pxafb.h
q40fb.c fbdev/m68k: Fix section mismatches in q40fb.c 2010-10-22 09:43:25 +02:00
s1d13xxxfb.c s1d13xxxfb: drop unused code 2010-12-21 01:05:43 +09:00
s3c-fb.c s3c-fb: add support for runtime pm 2010-12-21 01:05:43 +09:00
s3c2410fb.c s3c2410fb: fix sections 2010-05-25 08:07:09 -07:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3fb.c add support for S3 Trio3D/1X/2X 2010-05-27 09:12:42 -07:00
sa1100fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c
sbuslib.h
sgivwfb.c sgivwfb: fix sections 2010-05-25 08:07:09 -07:00
sh7760fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sh_mipi_dsi.c fbdev: sh_mipi_dsi: use platform provided register layout and values 2011-01-05 17:22:32 +09:00
sh_mobile_hdmi.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2011-01-06 18:27:34 +09:00
sh_mobile_lcdcfb.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2011-01-06 18:27:34 +09:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: reconfigure the framebuffer, when free 2010-09-16 16:36:17 +09:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
sstfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sticore.h
stifb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
sunxvr500.c Merge branch 'master' into export-slabh 2010-04-05 11:37:28 +09:00
sunxvr1000.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunxvr2500.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
svgalib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
syscopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
tdfxfb.c VIDEO: Correct use of request_region/request_mem_region 2010-08-05 13:25:38 +01:00
tgafb.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
tmiofb.c drivers/video/tmiofb.c: fix uninitialised return value 2009-09-23 07:39:57 -07:00
tridentfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
udlfb.c Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-01-10 16:04:53 -08:00
uvesafb.c param: use ops in struct kernel_param, rather than get and set fns directly 2010-08-11 23:04:13 +09:30
valkyriefb.c valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
valkyriefb.h valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
vesafb.c vesafb: fix comment a typo 2010-08-16 15:14:03 +02:00
vfb.c fbdev: section cleanup in vfb 2010-05-25 08:07:08 -07:00
vga16fb.c fbdev: section cleanup in vga16fb 2010-05-25 08:07:08 -07:00
vgastate.c
vt8500lcdfb.c ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
vt8500lcdfb.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
vt8623fb.c param: simple locking for sysfs-writable charp parameters 2010-08-11 23:04:31 +09:30
w100fb.c drivers/video/w100fb.c: ignore void return value / fix build failure 2010-08-09 20:44:53 -07:00
w100fb.h
wm8505fb.c fbdev: Modify vsync timing calculation in wm8505fb 2010-12-21 01:05:48 +09:00
wm8505fb_regs.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
wmt_ge_rops.c fbdev: Minor cleanup in WM8505-related code 2010-12-21 01:05:43 +09:00
wmt_ge_rops.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
xen-fbfront.c Merge branch 'stable/bug-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2011-01-10 08:48:46 -08:00
xilinxfb.c fbdev/xilinxfb: Microblaze driver support 2010-10-21 16:04:51 +10:00