linux/drivers/video
Krzysztof Helt cfbd646fe0 intelfb: fix setting of active pipe with LVDS displays
The intelfb driver sets color map depending on currently active pipe.
However, if an LVDS display is attached (like in laptop) the active pipe
variable is never set.  The default value is PIPE_A and can be wrong.  Set
up the pipe variable during driver initialization after hardware state was
read.

Also, the detection of the active display (and hence the pipe) is wrong.
The pipes are assigned to so called planes.  Both pipes are always enabled
on my laptop but only one plane is enabled (the plane A for the CRT or the
plane B for the LVDS).  Change active pipe detection code to take into
account a status of the plane assigned to each pipe.

The problem is visible in the 8 bpp mode if colors above 15 are used.  The
first 16 color entries are displayed correctly.

The graphics chip description is here (G45 vol. 3):
http://intellinuxgraphics.org/documentation.html

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13285

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Michal Suchanek <hramrach@centrum.cz>
Cc: Dean Menezes <samanddeanus@yahoo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-12-16 07:20:05 -08:00
..
aty tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
backlight tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
console Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
display tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
geode lxfb: add copyright/license info 2009-12-16 07:20:02 -08:00
i810 i810fb: fix stack exploding 2009-12-16 07:20:02 -08:00
intelfb intelfb: fix setting of active pipe with LVDS displays 2009-12-16 07:20:05 -08:00
kyro
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox matroxfb: fix problems with display stability 2009-12-16 07:20:05 -08:00
mb862xx mb862xxfb: add acceleration support for Coral-P/Coral-PA. * imageblt * copyarea * fillrect 2009-12-16 07:20:01 -08:00
mbx
msm drivers/video/msm: update to new kernel 2009-11-12 07:26:00 -08:00
nvidia nvidiafb: fix boot-time printk string 2009-06-23 12:50:05 -07:00
omap mfd: Rename all twl4030_i2c* 2009-12-13 21:23:33 +01:00
omap2 OMAP: DSS2: Taal DSI command mode panel driver 2009-12-09 18:21:41 +02:00
pnx4008 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
riva
savage savagefb: fix blanking mode on CRT display 2009-11-12 07:25:56 -08:00
sis fbdev: TV_PALN bit set twice in sisfb_detect_VB_connect() 2009-12-16 07:20:01 -08:00
vermilion removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
via viafb: cosmetic cleanup of function integrated_lvds_enable() 2009-12-16 07:20:05 -08:00
68328fb.c 68328fb: fix cmap memory leaks 2009-04-01 08:59:31 -07:00
acornfb.c acornfb: remove fb_mmap function 2009-06-16 19:47:59 -07:00
acornfb.h
amba-clcd.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -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
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 fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
atafb.h
atmel_lcdfb.c Merge branch 'for-next' into for-linus 2009-12-07 18:36:35 +01:00
au1100fb.c drivers/video: add kmalloc NULL tests 2009-09-23 07:39:56 -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 fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset 2009-06-16 19:48:03 -07:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
bfin-t350mcqb-fb.c fbdev: bfin-t350mcqb-fb: fix LCD dimensions 2009-12-16 07:20:01 -08:00
broadsheetfb.c fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. 2009-12-03 17:30:42 -08:00
bt431.h
bt455.h
bw2.c bw2: use standard fields for framebuffer physical address and length 2009-06-16 04:56:30 -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 carminefb: fix possible access beyond end of carmine_modedb[] 2009-06-16 19:47:59 -07:00
carminefb.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
cfbcopyarea.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c cg3: use standard fields for framebuffer physical address and length 2009-06-16 04:56:34 -07:00
cg6.c cg6: use standard fields for framebuffer physical address and length 2009-06-16 04:56:35 -07:00
cg14.c cg14: use standard fields for framebuffer physical address and length 2009-06-16 04:56:31 -07:00
chipsfb.c chipsfb: remove redundant assignment 2009-06-16 19:47:58 -07:00
cirrusfb.c cirrusfb: do not allow unsupported pixel depth 2009-04-13 15:04:30 -07:00
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01: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 cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK 2009-06-12 21:46:53 +09:30
cyber2000fb.h
da8xx-fb.c davinci: fb: add framebuffer blank operation 2009-12-16 07:20:05 -08:00
dnfb.c m68k: dnfb doesnt check for Apollo 2008-05-18 13:28:49 -07:00
edid.h
efifb.c fbdev: add support for handoff from firmware to hw framebuffers 2009-06-16 19:48:00 -07:00
ep93xx-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08: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 Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08: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 fbmem: don't call copy_from/to_user() with mutex held 2009-02-05 12:56:46 -08:00
fbcvt.c
fbmem.c Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-09-30 08:03:00 -07:00
fbmon.c fbmon: work around compiler bug in gcc-2.4.2 2009-07-22 08:49:22 -07:00
fbsysfs.c Revert "fb: Initialize fb_info mutexes in framebuffer_alloc()" 2009-07-08 09:20:11 -07:00
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: fix regression with uninitalized fb_info->mm_lock mutex 2009-07-08 14:18:35 -07:00
fsl-diu-fb.h
g364fb.c
gbefb.c Merge branch 'for-next' into for-linus 2009-12-07 18:36:35 +01:00
gxt4500.c pci: use pci_ioremap_bar() in drivers/video 2009-01-06 15:59:26 -08:00
hecubafb.c fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. 2009-12-03 17:30:42 -08:00
hgafb.c hgafb: convert to new platform driver API 2008-07-24 10:47:39 -07:00
hitfb.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
hpfb.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00
igafb.c igafb: use framebuffer_alloc() to allocate fb_info struct 2009-06-16 19:47:58 -07:00
imsttfb.c
imxfb.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
Kconfig fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
leo.c leo: use standard fields for framebuffer physical address and length 2009-06-16 04:56:37 -07:00
macfb.c macfb annotations and compiler warning fix 2008-12-28 20:00:05 +01:00
macmodes.c
macmodes.h
Makefile fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver 2009-12-16 07:20:01 -08:00
maxinefb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
metronomefb.c fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers. 2009-12-03 17:30:42 -08:00
modedb.c fbdev: drop custom atoi from drivers/video/modedb.c 2009-12-16 07:20:01 -08:00
mx3fb.c i.MX31: fix framebuffer locking regressions 2009-08-07 10:39:56 -07:00
n411.c
neofb.c neofb: fix sparse warnings 2009-01-06 15:59:27 -08:00
offb.c offb: Add support for framebuffer handoff to offb. 2009-12-09 17:09:29 +11:00
output.c tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
p9100.c p9100: use standard fields for framebuffer physical address and length 2009-06-16 04:56:38 -07:00
platinumfb.c platinumfb: fix misplaced parenthesis 2009-09-23 07:39:50 -07:00
platinumfb.h
pm2fb.c fbdev: use framebuffer_release() for freeing fb_info structures 2009-06-16 19:48:00 -07:00
pm3fb.c pm3fb: fix sparse warning 2009-01-06 15:59:27 -08:00
pmag-aa-fb.c
pmag-ba-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
pmagb-b-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
ps3fb.c powerpc/cell: Move CBE_IOPTE_* to <asm/cell-regs.h> 2009-08-20 10:29:26 +10:00
pvr2fb.c sh: dma: Make PVR2 DMA configurable. 2009-03-17 09:30:36 +09:00
pxa168fb.c pxa168fb: fix offset setting at initialization 2009-12-01 09:02:31 +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 drivers/video: Move dereference after NULL test 2009-12-16 07:20:01 -08: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: s1d13xxxfb: add accelerated bitblt functions 2009-06-16 19:48:00 -07:00
s3c2410fb.c s3c2410fb: fix clockrate calculation 2009-09-23 07:39:56 -07:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3c-fb.c video: s3c_fb.c: fix build with CONFIG_HOTPLUG=n 2009-09-23 07:39:57 -07:00
s3fb.c s3fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sa1100fb.c Nicolas Pitre has a new email address 2009-09-15 09:37:12 -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 sgivwfb: Make use of ARRAY_SIZE. 2009-12-04 15:39:52 +01:00
sh7760fb.c fbdev: add mutex for fb_mmap locking 2009-06-30 18:56:00 -07:00
sh_mobile_lcdcfb.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c sm501: implement acceleration features 2009-12-16 07:20:04 -08: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 tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01: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
syscopyarea.c
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c tcx: use standard fields for framebuffer physical address and length 2009-06-16 19:48:00 -07:00
tdfxfb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tgafb.c tgafb: fix cmap memory leak 2009-04-01 08:59:31 -07:00
tmiofb.c drivers/video/tmiofb.c: fix uninitialised return value 2009-09-23 07:39:57 -07:00
tridentfb.c tridentfb: delete acceleration Kconfig option 2009-04-01 08:59:34 -07:00
uvesafb.c fb: remove fb_save_state() and fb_restore_state operations 2009-11-12 07:25:56 -08: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 fbdev: add support for handoff from firmware to hw framebuffers 2009-06-16 19:48:00 -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 tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
w100fb.c w100fb: fix regression with uninitalized fb_info->mm_lock mutex 2009-07-08 09:19:49 -07:00
w100fb.h
xen-fbfront.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-11 12:18:16 -08:00
xilinxfb.c fbdev/xilinxfb: Fix improper casting and tighen up probe path 2009-06-17 00:30:02 -06:00