linux/drivers/video
Michal Januszewski bdca0f9b1e fbdev: fix fillrect for 24bpp modes
The software fillrect routines do not work properly when the number of
pixels per machine word is not an integer.  To see that, run the following
command on a fbdev console with a 24bpp video mode, using a
non-accelerated driver such as (u)vesafb:

  reset ; echo -e '\e[41mtest\e[K'

The expected result is 'test' displayed on a line with red background.
Instead of that, 'test' has a red background, but the rest of the line
(rendered using fillrect()) contains a distored colorful pattern.

This patch fixes the problem by correctly computing rotation shifts.  It
has been tested in a 24bpp mode on 32- and 64-bit little-endian machines.

Signed-off-by: Michal Januszewski <spock@gentoo.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-06 16:36:10 -07:00
..
aty drivers/video/aty/radeon_base.c: fix typo in comment 2009-04-13 15:04:30 -07:00
backlight fbdev: fix info->lock deadlock in fbcon_event_notify() 2009-04-13 15:04:28 -07:00
console vgacon: return the upper half of 512 character fonts 2009-05-02 15:36:10 -07:00
display device create: video: convert device_create_drvdata to device_create 2008-10-16 09:24:45 -07:00
geode gx1fb: properly alloc cmap and plug cmap leak 2009-02-11 14:25:34 -08:00
i810 i810: fix kernel crash fix when struct fb_var_screeninfo is supplied 2009-03-10 15:55:12 -07:00
intelfb intelfb: support i854 2009-04-13 15:04:32 -07:00
kyro fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
logo Revert "linux.conf.au 2009: Tuz" 2009-04-27 12:00:27 -07:00
matrox matroxfb: support G200eV chip 2008-10-16 11:21:45 -07:00
mb862xx drivers/video/mb862xx/mb862xxfb.c: fix printk 2008-12-10 08:01:54 -08:00
mbx mbxfb: fix incorrect argument type 2008-03-10 18:01:20 -07:00
nvidia fb: nvidiafb recognizes geforcego 7300 chip as mobile 2009-04-02 19:04:48 -07:00
omap omapfb: fix argument of blank operation 2009-04-01 08:59:33 -07:00
pnx4008 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
riva video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
savage i2c: Delete many unused adapter IDs 2009-01-26 21:19:52 +01:00
sis sisfb: fix color component length for pseudocolor modes 2009-04-13 15:04:30 -07:00
vermilion removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
via viafb: returns 0 two too early 2009-04-01 08:59:32 -07:00
68328fb.c 68328fb: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
acornfb.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
acornfb.h
amba-clcd.c amba-clcd: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
amifb.c amifb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
arcfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
arkfb.c arkfb: fix misplaced parentheses 2009-04-01 08:59:32 -07:00
asiliantfb.c asiliantfb: add missing return statement 2009-04-21 13:41:47 -07:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
atafb.h
atmel_lcdfb.c drivers/video: bad error test before a dereference 2008-11-19 18:49:57 -08:00
au1100fb.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
au1100fb.h
au1200fb.c platform driver: fix incorrect use of 'platform_bus_type' with 'struct device_driver' 2009-03-24 16:38:25 -07:00
au1200fb.h
bf54x-lq043fb.c video/framebuffer: fix bug: jpegview cannot work on framebuffer device other than 16BPP 2009-01-15 16:39:35 -08:00
bfin-t350mcqb-fb.c video/framebuffer: move the probe func into .devinit.text in Blackfin LCD driver 2009-02-11 14:25:35 -08:00
broadsheetfb.c [ARM] 5353/1: fbdev: add E-Ink Broadsheet controller support v3 2009-02-10 11:27:59 +00:00
bt431.h
bt455.h
bw2.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
c2p_core.h fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_iplan2.c fbdev: c2p/atafb - Add support for Atari interleaved bitplanes 2009-01-12 20:56:31 +01:00
c2p_planar.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
c2p.h fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
carminefb_regs.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
carminefb.c fb: carminefb: trivial annotation packing color register 2009-01-06 15:59:26 -08:00
carminefb.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
cfbcopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
cg3.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
cg6.c cg6: disable cursor when leaving graphics mode 2008-10-10 12:12:41 -07:00
cg14.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
chipsfb.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
cirrusfb.c cirrusfb: do not allow unsupported pixel depth 2009-04-13 15:04:30 -07:00
clps711xfb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
cobalt_lcdfb.c fbdev: add new Cobalt LCD framebuffer driver 2008-07-24 10:47:40 -07:00
controlfb.c powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED 2008-12-21 14:21:16 +11:00
controlfb.h
cyber2000fb.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
cyber2000fb.h
dnfb.c m68k: dnfb doesnt check for Apollo 2008-05-18 13:28:49 -07:00
edid.h
efifb.c efifb: exit if framebuffer address is invalid 2009-04-13 15:04:29 -07:00
epson1355fb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
fb_ddc.c i2c: Let framebuffer drivers set their I2C bus class to DDC 2008-07-14 22:38:28 +02:00
fb_defio.c mm: page_mkwrite change prototype to match fault 2009-04-01 08:59:14 -07: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 fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
fbcmap.c fbmem: don't call copy_from/to_user() with mutex held 2009-02-05 12:56:46 -08:00
fbcvt.c
fbmem.c fbdev: fix info->lock deadlock in fbcon_event_notify() 2009-04-13 15:04:28 -07:00
fbmon.c fbmon: fix EDID parser to detect interlace modes 2008-10-16 11:21:44 -07:00
fbsysfs.c
ffb.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fm2fb.c
fsl-diu-fb.c fsl-diu-fb: Pass the proper device for dma mapping routines 2009-04-06 09:12:38 -05:00
fsl-diu-fb.h fbdev: powerpc: driver for Freescale 8610 and 5121 DIU 2008-04-28 08:58:40 -07:00
g364fb.c
gbefb.c gbefb: unsigned var->pixclock cannot be less than 0 2009-01-06 15:59:26 -08:00
gxt4500.c pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
hecubafb.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
hgafb.c hgafb: convert to new platform driver API 2008-07-24 10:47:39 -07:00
hitfb.c video: Fix up hp6xx driver build regressions. 2008-07-30 02:16:12 +09:00
hpfb.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00
igafb.c drivers/video: add missing pci_dev_get 2008-02-06 10:41:16 -08:00
imsttfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
imxfb.c imxfb: Fix TFT mode 2009-03-27 14:51:15 +01:00
Kconfig tdfxfb: move I2C functionality into the tdfxfb 2009-04-07 08:31:08 -07:00
leo.c leo: disable cursor when leaving graphics mode 2008-10-10 12:13:22 -07:00
macfb.c macfb annotations and compiler warning fix 2008-12-28 20:00:05 +01:00
macmodes.c
macmodes.h
Makefile fb: add s3c-fb driver for newer Samsung SoC framebuffer devices 2009-04-01 08:59:33 -07:00
maxinefb.c
metronomefb.c metronomefb: Fix warning when building 64bit 2008-10-15 10:19:51 -07:00
modedb.c fbdev: fix typo in drivers/video/modedb.c 2009-01-06 15:59:26 -08:00
mx3fb.c fbdev: i.MX31: fix panning, error handling, clean up 2009-04-07 08:31:09 -07:00
n411.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
neofb.c neofb: fix sparse warnings 2009-01-06 15:59:27 -08:00
offb.c fbdev: Teaches offb about palette on radeon r5xx/r6xx 2008-07-22 10:39:36 +10:00
output.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:35 -08:00
p9100.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
platinumfb.c platinumfb: Use linux/of_{device,platform}.h instead of asm 2008-06-09 13:46:38 +10:00
platinumfb.h
pm2fb.c pm2fb: free cmap memory on module remove 2008-08-20 15:40:31 -07:00
pm3fb.c pm3fb: fix sparse warning 2009-01-06 15:59:27 -08:00
pmag-aa-fb.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
pmag-ba-fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
pmagb-b-fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
ps3fb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
pvr2fb.c sh: dma: Make PVR2 DMA configurable. 2009-03-17 09:30:36 +09:00
pxafb.c pxafb: lcsr1 is unused without CONFIG_FB_PXA_OVERLAY 2009-04-21 13:41:47 -07:00
pxafb.h [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
q40fb.c
s1d13xxxfb.c fbdev: update s1d13xxxfb to differ between revisions and production ids 2009-04-01 08:59:32 -07:00
s3c2410fb.c [ARM] 5377/1: S3C2410-Framebuffer: Fix resume path in S3C2410 framebuffer driver. 2009-02-19 11:30:20 +00:00
s3c2410fb.h S3C2410: clean out changelog header and tidy 2008-05-24 09:56:13 -07:00
s3c-fb.c fb: add s3c-fb driver for newer Samsung SoC framebuffer devices 2009-04-01 08:59:33 -07:00
s3fb.c s3fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.c sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sbuslib.h sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sgivwfb.c drivers/video/sgivwfb.c: fix memory leaks in removal path 2009-04-01 08:59:30 -07:00
sh7760fb.c sh: sh7760fb: Fix color pallette setting 2008-12-22 18:42:54 +09:00
sh_mobile_lcdcfb.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2009-03-26 11:17:04 -07:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c sm501fb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:30 -07:00
sstfb.c sstfb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:30 -07:00
sticore.h video/console/stico{n,re}.c: make code static 2008-07-26 12:00:12 -07:00
stifb.c stifb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
sunxvr500.c sunxvr500: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
sunxvr2500.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
svgalib.c svgalib: mode selection updates 2007-10-16 09:43:22 -07:00
syscopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
tcx.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
tdfxfb.c tdfxfb: make use of DDC information about connected monitor 2009-04-07 08:31:09 -07:00
tgafb.c tgafb: fix cmap memory leak 2009-04-01 08:59:31 -07:00
tmiofb.c video: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
tridentfb.c tridentfb: delete acceleration Kconfig option 2009-04-01 08:59:34 -07:00
uvesafb.c uvesafb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
valkyriefb.c valkyriefb: check fb_alloc_cmap return value and handle failure properly 2009-04-01 08:59:31 -07:00
valkyriefb.h
vesafb.c vesafb: bitwise OR has higher precedence than ?: 2009-04-01 08:59:32 -07:00
vfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
vga16fb.c vga16fb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
vgastate.c
vt8623fb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
w100fb.c w100fb: add 80 MHz modeline 2008-07-04 10:40:08 -07:00
w100fb.h
xen-fbfront.c get xenbus_driver ->probe() "recognized" by modpost 2008-11-30 10:03:38 -08:00
xilinxfb.c powerpc/virtex: fix various format/casting printk mismatches 2008-11-14 09:59:48 -07:00