android_kernel_xiaomi_sm8350/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
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
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
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
via viafb: cosmetic cleanup of function integrated_lvds_enable() 2009-12-16 07:20:05 -08:00
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c
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 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
au1200fb.h
bf54x-lq043fb.c
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
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.c
carminefb.h
cfbcopyarea.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
cfbfillrect.c
cfbimgblt.c
cg3.c
cg6.c
cg14.c
chipsfb.c
cirrusfb.c
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c
controlfb.c
controlfb.h
cyber2000fb.c
cyber2000fb.h
da8xx-fb.c davinci: fb: add framebuffer blank operation 2009-12-16 07:20:05 -08:00
dnfb.c
edid.h
efifb.c
ep93xx-fb.c fbdev: add palette register check to several drivers 2009-12-16 07:20:01 -08:00
epson1355fb.c
fb_ddc.c
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
fb_notify.c
fb_sys_fops.c
fbcmap.c
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
ffb.c
fm2fb.c
fsl-diu-fb.c
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
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
hitfb.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
hpfb.c
igafb.c
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
macfb.c
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
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
platinumfb.c platinumfb: fix misplaced parenthesis 2009-09-23 07:39:50 -07:00
platinumfb.h
pm2fb.c
pm3fb.c
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
pxa168fb.c pxa168fb: fix offset setting at initialization 2009-12-01 09:02:31 +08:00
pxa168fb.h
pxafb.c drivers/video: Move dereference after NULL test 2009-12-16 07:20:01 -08:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c s3c2410fb: fix clockrate calculation 2009-09-23 07:39:56 -07:00
s3c2410fb.h
s3c-fb.c video: s3c_fb.c: fix build with CONFIG_HOTPLUG=n 2009-09-23 07:39:57 -07:00
s3fb.c
sa1100fb.c Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c sgivwfb: Make use of ARRAY_SIZE. 2009-12-04 15:39:52 +01:00
sh7760fb.c
sh_mobile_lcdcfb.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
skeletonfb.c
sm501fb.c sm501: implement acceleration features 2009-12-16 07:20:04 -08:00
sstfb.c
sticore.h
stifb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
sunxvr500.c
sunxvr2500.c
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c
tdfxfb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tgafb.c
tmiofb.c drivers/video/tmiofb.c: fix uninitialised return value 2009-09-23 07:39:57 -07:00
tridentfb.c
uvesafb.c fb: remove fb_save_state() and fb_restore_state operations 2009-11-12 07:25:56 -08:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c
vga16fb.c
vgastate.c
vt8623fb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
w100fb.c
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