linux/drivers/video
Dave Airlie 2a24830723 vgacon/vt: clear buffer attributes when we load a 512 character font (v2)
When we switch from 256->512 byte font rendering mode, it means the
current contents of the screen is being reinterpreted. The bit that holds
the high bit of the 9-bit font, may have been previously set, and thus
the new font misrenders.

The problem case we see is grub2 writes spaces with the bit set, so it
ends up with data like 0x820, which gets reinterpreted into 0x120 char
which the font translates into G with a circumflex. This flashes up on
screen at boot and is quite ugly.

A current side effect of this patch though is that any rendering on the
screen changes color to a slightly darker color, but at least the screen
no longer corrupts.

v2: as suggested by hpa, always clear the attribute space, whether we
are are going to or from 512 chars.

Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-02-07 12:37:03 +10:00
..
aty Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
backlight backlight: locomolcd: fix checkpatch error and warning 2012-12-18 15:02:11 -08:00
console vgacon/vt: clear buffer attributes when we load a 512 character font (v2) 2013-02-07 12:37:03 +10:00
exynos Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
geode Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
i810 Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
intelfb Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
kyro Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
logo module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
matrox i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING 2012-05-30 10:55:34 +02:00
mb862xx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mbx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
msm Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nvidia Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
omap Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
omap2 Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
riva Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
savage Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sis Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vermilion Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
via Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
68328fb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
acornfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
acornfb.h
amba-clcd.c fbdev: amba: Enable module alias autogeneration for AMBA drivers 2011-11-22 10:58:33 +00:00
amifb.c fbdev/amifb: Remove write-only variable amifb_inverse 2012-08-23 13:19:46 +00:00
arcfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
arkfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
asiliantfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c m68k/atari: Do not use "/" in interrupt names 2011-05-19 18:19:10 +02:00
atafb.h
atmel_lcdfb.c arm: at91: move platfarm_data to include/linux/platform_data/atmel.h 2012-11-06 20:29:33 +08:00
au1100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
au1100fb.h fb: fix au1100fb bitrot. 2011-10-03 15:52:38 +00:00
au1200fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
au1200fb.h
auo_k190x.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
auo_k190x.h video: auo_k190x: add code shared by controller drivers 2012-04-29 19:35:35 +00:00
auo_k1900fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
auo_k1901fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bf54x-lq043fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bf537-lq035.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin_adv7393fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin_adv7393fb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
bfin-lq035q1-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin-t350mcqb-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
broadsheetfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bt431.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bt455.h Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bw2.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
carminefb.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg6.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg14.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
chipsfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cirrusfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
clps711xfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cobalt_lcdfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
controlfb.c Drivers: video: controlfb: fixed a brace coding style issue 2011-11-22 01:00:16 +00:00
controlfb.h
cyber2000fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cyber2000fb.h VIDEO: cyberpro: remove unused cyber2000fb_get_fb_var() 2011-02-11 10:16:07 +00:00
da8xx-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
dnfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
edid.h video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET 2011-03-22 16:45:03 +09:00
efifb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ep93xx-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fb_ddc.c video: Add module.h to drivers/video files who really use it. 2011-10-31 19:31:33 -04:00
fb_defio.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fb_draw.h fbdev: Make pixel_to_pat() failure mode more friendly 2012-07-29 12:25:06 +00:00
fb_notify.c video: Add export.h for THIS_MODULE/EXPORT_SYMBOL to drivers/video 2011-10-31 19:31:33 -04:00
fb_sys_fops.c
fb-puv3.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fbcmap.c
fbcvt.c
fbmem.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
fbmon.c fbdev: fix parsing of standard timings 2011-09-01 00:31:05 +00:00
fbsysfs.c fb: handle NULL pointers in framebuffer release 2012-05-29 13:00:03 +00:00
ffb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fsl-diu-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
g364fb.c g364fb: use display information in info not in var for panning 2011-08-19 10:31:09 +02:00
gbefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
grvga.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gxt4500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hecubafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hitfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hpfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
i740_reg.h Resurrect Intel740 driver: i740fb 2012-02-15 04:31:21 +00:00
i740fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
igafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imsttfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imxfb.c This is yet another critical imxfb fixes held off by absence of FB 2013-01-23 20:35:02 -08:00
jz4740_fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
Kconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-12-18 09:58:09 -08:00
leo.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
macfb.c macfb: fix black and white modes 2012-01-22 14:50:02 +01:00
macmodes.c
macmodes.h
Makefile drivers/video: add support for the Solomon SSD1307 OLED Controller 2012-12-10 11:33:53 +02:00
maxinefb.c
metronomefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
modedb.c fbdev: fix indentation in modedb.c 2011-09-14 16:40:52 +00:00
mx3fb.c video: mx3fb: remove unneeded mach/hardware.h inclusion 2012-10-15 10:03:14 +08:00
mxsfb.c ARM: arm-soc fixes for 3.8-rc 2013-01-08 18:53:56 -08:00
n411.c
neofb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nuc900fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nuc900fb.h ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
offb.c offb: Fix setting of the pseudo-palette for >8bpp 2012-01-03 12:09:25 +11:00
output.c
p9100.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.h
pm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pm3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmag-aa-fb.c
pmag-ba-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmagb-b-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ps3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pvr2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa3xx-gcu.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa3xx-gcu.h
pxa168fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa168fb.h
pxafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxafb.h ARM: pxafb: rework pxafb overlay memory management 2011-03-16 17:37:03 +08:00
q40fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s1d13xxxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s3c2410fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s3c2410fb.h
s3c-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sa1100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sa1100fb.h FB: sa11x0: convert to use platform resource and ioremap() 2012-02-24 09:39:59 +00:00
sbuslib.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sbuslib.h
sgivwfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sh7760fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sh_mipi_dsi.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: add HDMI Control Register support 2012-05-13 13:07:59 +00:00
sh_mobile_lcdcfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: Store the backlight brightness internally 2012-11-21 15:50:01 +01:00
sh_mobile_meram.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
skeletonfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sm501fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
smscufx.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
ssd1307fb.c drivers/video/ssd1307fb.c: fix bit order bug in the byte translation function 2013-01-11 14:54:54 -08:00
sstfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sticore.h Fix common misspellings 2011-03-31 11:26:23 -03:00
stifb.c
sunxvr500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr1000.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr2500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
svgalib.c svga: Make svga_set_timings() take an iomem regbase pointer. 2011-03-22 15:47:22 +09:00
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tdfxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tmiofb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tridentfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
udlfb.c fbdev updates for 3.7 2012-10-12 10:21:02 +09:00
uvesafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
valkyriefb.c video: Fix speficied typo 2011-06-24 17:14:39 +09:00
valkyriefb.h
vesafb.c vesafb: fix memory leak 2011-07-04 16:02:48 +09:00
vfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vga16fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vgastate.c
vt8500lcdfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vt8500lcdfb.h
vt8623fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.h
wm8505fb_regs.h
wm8505fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
wmt_ge_rops.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
wmt_ge_rops.h
xen-fbfront.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
xilinxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00