kernel_optimize_test/drivers/video
Janusz Krzysztofik 256a804283 OMAPFB: LCDC: change update_mode to DISABLED when going suspend
I was observing the following error messages on my OMAP1 based Amstrad Delta
board when first changing from text to graphics mode or vice versa after the
LCD display had been blanked:
	omapfb omapfb: timeout waiting for FRAME DONE
with a followup error message while unblanking it back:
	omapfb omapfb: resetting (status 0xffffffb2,reset count 1)
As a visible result, image pixels happened to be shifted by a few bits,
giving wrong colors.

Examining the code, I found that this problem occures when an OMAP1 internal
LCD controller is disabled from omap_lcdc_suspend() and then a subsequent
omap_lcdc_setup_plane() calls disable_controller() again. This potentially
error provoking behaviour is triggered by the lcdc.update_mode flag being kept
at OMAP_AUTO_UPDATE, regardless of the controller and panel being suspended.

This patch tries to correct the problem by replacing both omap_lcdc_suspend()
and omap_lcdc_resume() function bodies with single calls to
omap_lcdc_set_update_mode() with a respective OMAP_UPDATE_DISABLE or
OMAP_AUTO_UPDATE argument. As a result, exactly the same lower level
operations are performed, with addition of changing the lcdc.update_mode flag
to a value better suited for the controller state. This prevents any further
calls to disable_controller() from omap_lcdc_setup_plane() while the display
is suspended.

Created against linux-2.6.34-rc7.
Tested on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
2010-06-15 10:17:19 +03:00
..
aty fbdev: move FBIO_WAITFORVSYNC to linux/fb.h 2010-05-25 08:07:09 -07:00
backlight backlight: Add pcf50633 backlight driver 2010-05-26 17:34:38 +01:00
console 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
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 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
i810 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
intelfb fbdev: move FBIO_WAITFORVSYNC to linux/fb.h 2010-05-25 08:07:09 -07:00
kyro
logo
matrox 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
mb862xx of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
mbx 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
msm 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
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 OMAPFB: LCDC: change update_mode to DISABLED when going suspend 2010-06-15 10:17:19 +03:00
omap2 OMAP: DSS2: Fix omap_dss_probe() error path 2010-05-18 15:06:09 +03: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 backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
savage 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
sis sis: strcpy() => strlcpy() 2010-05-25 08:07:08 -07: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 drivers/video/via: use memdup_user 2010-05-27 09:12:42 -07: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: ARM CLCD: Better fix for swapped IENB and CNTL registers 2010-03-14 19:42:44 +00:00
amifb.c m68k: amiga - Frame buffer platform device conversion 2010-05-17 21:37:43 +02:00
arcfb.c fbdev: section cleanup in arcfb 2010-05-25 08:07:08 -07:00
arkfb.c
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_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.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.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 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.h
au1200fb.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
au1200fb.h
bf54x-lq043fb.c fbdev: bf54x-lq043fb: fix unused warnings with backlight code 2010-05-27 09:12:42 -07: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 fbdev: bfin-t350mcqb-fb: avoid unused warnings in backlight code 2010-05-27 09:12:42 -07:00
broadsheetfb.c broadsheetfb: support storing waveform 2010-03-12 15:52:34 -08:00
bt431.h
bt455.h
bw2.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c
c2p.h
carminefb_regs.h
carminefb.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
carminefb.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
cfbimgblt.c
cg3.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
cg6.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
cg14.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -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
controlfb.h
cyber2000fb.c VIDEO: cyberpro: pci_request_regions needs a persistent name 2009-12-24 18:34:09 +00:00
cyber2000fb.h
da8xx-fb.c fbdev: da8xx/omap-l1xx: implement double buffering 2010-05-25 08:07:09 -07: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 Merge remote branch 'anholt/drm-intel-next' into drm-next 2010-05-19 09:35:51 +10: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 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_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 drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.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
fbmem.c fbmem: avoid printk format warning with 32-bit resources 2010-05-21 20:30:33 -07:00
fbmon.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
fbsysfs.c fbdev: allow passing more than one aperture for handoff 2010-05-18 16:19:27 +10:00
ffb.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
fm2fb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
fsl-diu-fb.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
fsl-diu-fb.h
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 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
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 fbdev: section cleanup in hgafb 2010-05-25 08:07:08 -07: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
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 imxfb: correct location of callbacks in suspend and resume 2010-02-02 18:11:22 -08:00
Kconfig Merge branch 'msm-video' of git://codeaurora.org/quic/kernel/dwalker/linux-msm 2010-05-21 14:40:30 -07:00
leo.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -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 git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2010-03-13 21:29:38 -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 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
modedb.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
mx3fb.c DMAENGINE: extend the control command to include an arg 2010-05-17 16:30:42 -07:00
n411.c
neofb.c
nuc900fb.c nuc900fb: release correct mem region 2010-05-25 08:07:09 -07:00
nuc900fb.h NUC900 LCD Controller Driver 2010-03-12 15:52:34 -08:00
offb.c fbdev: allow passing more than one aperture for handoff 2010-05-18 16:19:27 +10: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: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
platinumfb.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -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 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
pvr2fb.c sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. 2010-02-17 13:23:00 +09:00
pxa168fb.c pxa168fb: fix incorrect resource calculation 2010-03-22 20:30:17 +08:00
pxa168fb.h
pxafb.c [ARM] pxafb: fix building issue of incorrect reference 2009-12-29 14:11:27 +08:00
pxafb.h
q40fb.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
s1d13xxxfb.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
s3c2410fb.c s3c2410fb: fix sections 2010-05-25 08:07:09 -07:00
s3c2410fb.h
s3c-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
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
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_mobile_lcdcfb.c sh: fix a number of Oopses and leaks in SH framebuffer driver 2010-05-06 13:24:56 +09:00
skeletonfb.c
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: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -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
sysimgblt.c
tcx.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
tdfxfb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tgafb.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
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
uvesafb.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
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 fbdev: allow passing more than one aperture for handoff 2010-05-18 16:19:27 +10: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
vt8623fb.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
w100fb.c fbdev: section cleanup in w100fb 2010-05-25 08:07:08 -07:00
w100fb.h
xen-fbfront.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
xilinxfb.c of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00