diff options
author | Imre Deak <imre.deak@solidboot.com> | 2006-09-25 12:41:28 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2006-09-25 12:41:28 +0300 |
commit | b5beef5d5dddef820eb36c97216487ed7cf68971 (patch) | |
tree | 0af4876d2211273eeb1757420a436021c46890c6 /arch | |
parent | 5a4e86daa29e73a02ce8eb484837813e341a0b8a (diff) | |
download | op-kernel-dev-b5beef5d5dddef820eb36c97216487ed7cf68971.zip op-kernel-dev-b5beef5d5dddef820eb36c97216487ed7cf68971.tar.gz |
ARM: OMAP: Sleep is prevented when no LCD is attached
We have to make sure that the LCD DMA external destination bit is
cleared by default, otherwise OMAP won't sleep.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-omap/dma.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 9eddc95..9948d7a 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c @@ -1339,6 +1339,14 @@ static int __init omap_init_dma(void) dma_chan_count = 16; } else dma_chan_count = 9; + if (cpu_is_omap16xx()) { + u16 w; + + /* this would prevent OMAP sleep */ + w = omap_readw(OMAP1610_DMA_LCD_CTRL); + w &= ~(1 << 8); + omap_writew(w, OMAP1610_DMA_LCD_CTRL); + } } else if (cpu_is_omap24xx()) { u8 revision = omap_readb(OMAP_DMA4_REVISION); printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n", |