android_kernel_xiaomi_sm8350/arch/arm
Janusz Krzysztofik 8561a84f85 omap: Fix omapfb/lcdc on OMAP1510 broken when PM set
With CONFIG_PM=y, the omapfb/lcdc device on Amstrad Delta, after initially
starting correctly, breaks with the following error messages:

omapfb omapfb: resetting (status 0xffffff96,reset count 1)
...
omapfb omapfb: resetting (status 0xffffff96,reset count 100)
omapfb omapfb: too many reset attempts, giving up.

Looking closer at this I have found that it had been broken almost 2 years ago
with commit 2418996e3b100114edb2ae110d5d4acb928909d2, PM fixes for OMAP1.

The definite reason for broken omapfb/lcdc behavoiur in PM mode
appeared to be ARM_IDLECT1:IDLIF_ARM (bit 6) put into idle regardless of LCD
DMA possibly running. The bit were set based on return value of the
omap_dma_running() function that did not check for dedicated LCD DMA
channel status. The patch below fixes this.

Note that the hardcoded register value will be fixed during the next merge
cycle to use OMAP_LCDC_ defines. Currently the OMAP_LCDC_ defines are local
to drivers/video/omap/lcdc.c, so let's not start moving those right now.

Created against linux-2.6.32-rc6

Tested on Amstrad Delta

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-11 11:00:03 -08:00
..
boot kbuild: use INSTALLKERNEL to select customized installkernel script 2009-09-20 12:18:14 +02:00
common ARM: 5735/1: sa1111: CodingStyle cleanups 2009-10-02 22:32:33 +01:00
configs Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-10-29 08:16:42 -07:00
include/asm ARM: Fix errata 411920 workarounds 2009-10-29 19:13:09 +00:00
kernel ARM: 5776/1: Check compiler version and EABI support when adding ARM unwind support. 2009-11-02 16:59:45 +00:00
lib Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
mach-aaec2000
mach-at91 at91: at91sam9g45 family: identify several chip versions 2009-11-03 18:42:31 +01:00
mach-bcmring ARM: 5748/1: bcmring: fix build warning messages 2009-10-07 13:13:01 +01:00
mach-clps711x
mach-davinci ARM: includecheck fix: mach-davinci, board-dm365-evm.c 2009-09-28 18:06:20 +01:00
mach-ebsa110
mach-ep93xx ARM: 5768/1: ep93xx: remove dead code in ep93xx_gpio_ab_irq_handler() 2009-10-21 13:09:36 +01:00
mach-footbridge
mach-gemini
mach-h720x
mach-integrator ARM: integrator: allow Integrator to be built with highmem 2009-10-25 22:44:30 +00:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ixp4xx: arch_idle() documentation fixup 2009-09-21 19:20:03 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood
mach-ks8695
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp
mach-msm
mach-mv78xx0
mach-mx1
mach-mx2 MXC: fix reset for mx31, mx35 and mx27 SoCs 2009-10-13 10:24:10 +02:00
mach-mx3 MXC: fix reset for mx31, mx35 and mx27 SoCs 2009-10-13 10:24:10 +02:00
mach-mx25 mx25: Add missing copyright / license header 2009-10-02 09:14:18 +02:00
mach-mxc91231
mach-netx
mach-nomadik mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board) 2009-09-20 06:00:27 -07:00
mach-ns9xxx const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
mach-omap1 omap1: Fix DSP public peripherals support for ams-delta 2009-10-22 14:47:42 -07:00
mach-omap2 omap: Use resource_size 2009-11-10 18:55:19 -08:00
mach-orion5x
mach-pnx4008
mach-pxa [ARM] pxa/spitz: add gpio button support (fixes regression) 2009-10-17 22:55:44 +08:00
mach-realview ARM: 5774/1: Fix Realview ARM1176PB board reboot 2009-11-01 14:19:34 +00:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c 2009-10-28 18:34:56 +00:00
mach-s3c2412 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2440 ARM: S3C2440: mini2440: Fix spare warnings 2009-10-28 18:34:51 +00:00
mach-s3c2442
mach-s3c2443
mach-s3c6400 ARM: S3C: Add info for supporting circular DMA buffers 2009-10-28 18:22:57 +00:00
mach-s3c6410 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s5pc100
mach-sa1100 ARM: 5752/1: SA1100: fix building of h3100 2009-10-07 13:13:01 +01:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: 5731/2: Fix U300 generic GPIO, remove ifdefs from MMCI v3 2009-10-01 16:26:15 +01:00
mach-versatile ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-w90x900
mm ARM: ensure initial page tables are setup for SMP systems 2009-11-02 16:59:59 +00:00
nwfpe
oprofile ARM: 5764/1: bcmring: add oprofile pmu support 2009-10-17 20:10:22 +01:00
plat-iop Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop 2009-10-02 22:31:04 +01:00
plat-mxc spi: add SPI driver for most known i.MX SoCs 2009-09-23 07:39:43 -07:00
plat-omap omap: Fix omapfb/lcdc on OMAP1510 broken when PM set 2009-11-11 11:00:03 -08:00
plat-orion
plat-pxa
plat-s3c ARM: s3c: fix check of index into s3c_gpios[] 2009-09-19 12:14:06 +01:00
plat-s3c24xx ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c 2009-10-28 18:34:45 +00:00
plat-s3c64xx ARM: S3C64XX: Set rate of crystal mux 2009-10-26 16:49:46 +00:00
plat-s5pc1xx
plat-stmp3xxx ARM: STMP3xxx: deallocation with negative index of descriptors[] 2009-09-19 12:14:05 +01:00
tools [ARM] Update mach-types 2009-09-18 21:42:01 +01:00
vfp
Kconfig
Kconfig-nommu
Kconfig.debug
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next 2009-09-23 15:37:02 -07:00