linux/drivers
Haavard Skinnemoen 3aa04f1b07 atmel_lcdfb: disable LCD and DMA engines when suspending
When suspending the system with atmel_lcdfb enabled, I sometimes see
this:

	atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10

Which can be explained by the fact that we're not stopping the LCD
controller and its DMA engine when suspending, we're just gating the
clocks to them.

There's another potential issue which may be harder to trigger but
much more nasty: If we gate the clocks at _just_ the right moment,
e.g. when the DMA engine is doing a bus transaction, we may cause the
DMA engine to violate the system bus protocol and cause a lockup.

Avoid these issues by shutting down the LCD controller before entering
suspend (and restarting it when resuming). This prevents the underrun
from happening in the first place, and prevents whatever nastiness is
happening when the bus clock stops in the middle of a DMA transfer.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-09-13 14:41:52 -07:00
..
accessibility
acpi Merge branches 'smbus' and 'fujitsu-fix' into release-2.6.27 2008-09-04 14:33:03 +02:00
amba
ata ahci: RAID mode SATA patch for Intel Ibex Peak DeviceIDs 2008-09-08 12:15:54 -04:00
atm removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
auxdisplay auxdisplay: small cleanups 2008-07-24 10:47:41 -07:00
base PM: Remove WARN_ON from device_pm_add 2008-08-21 10:15:37 -07:00
block Revert "pktcdvd: push BKL down into driver" 2008-08-27 13:42:00 -07:00
bluetooth [Bluetooth] Consolidate maintainers information 2008-08-18 13:23:53 +02:00
cdrom cdrom: handle TOC 2008-08-18 21:40:04 +02:00
char drivers/char/random.c: fix a race which can lead to a bogus BUG() 2008-09-02 19:21:40 -07:00
clocksource clocksource, acpi_pm.c: check for monotonicity 2008-09-06 15:33:33 +02:00
connector
cpufreq [CPUFREQ] Fix -Wshadow warning in conservative governor. 2008-08-08 16:00:48 -04:00
cpuidle cpuidle: Make ladder governor honor latency requirements fully 2008-08-15 21:25:35 +02:00
crypto crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() 2008-08-13 22:02:26 +10:00
dca Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2008-07-23 12:03:18 -07:00
dio
dma Merge branch 'for-rmk' of git://git.marvell.com/orion 2008-08-09 18:03:13 +01:00
edac removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
eisa
firewire firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
firmware ibft: fix target info parsing in ibft module 2008-09-02 19:21:40 -07:00
gpio gpio: max732x driver 2008-07-25 10:53:30 -07:00
gpu drm/radeon: downgrade debug message from info to debug. 2008-09-01 08:51:52 +10:00
hid Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpads 2008-08-08 16:23:01 -04:00
hwmon hwmon-vid: Fix AMD K8 VID decoding 2008-08-15 11:50:15 -07:00
i2c Merge branch 'sh/for-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2008-09-05 14:30:58 -07:00
ide Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-09-11 08:42:55 -07:00
ieee1394 ieee1394: sbp2: let nodemgr retry node updates during bus reset series 2008-08-19 18:47:56 +02:00
infiniband IB/mlx4: Actually return L_Key and R_Key for fast register MRs 2008-08-27 14:40:38 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-09-06 21:47:30 -07:00
isdn Add DIP switch readout for HFC-4S IOB4ST 2008-08-02 16:40:37 +02:00
leds [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
lguest lguest: update commentry 2008-08-26 00:19:28 +10:00
macintosh remove unnecessary <linux/hdreg.h> includes 2008-08-05 18:16:58 +02:00
mca
md Fix problem with waiting while holding rcu read lock in md/bitmap.c 2008-09-01 12:48:13 +10:00
media VIDEO_SH_MOBILE_CEU should depend on HAS_DMA 2008-09-10 14:15:29 -07:00
memstick memstick: use fully asynchronous request processing 2008-07-26 12:00:04 -07:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-27 10:04:52 -07:00
mfd removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
misc ia64: fix panic during `modprobe -r xpc' 2008-09-13 14:41:52 -07:00
mmc drivers/mmc/card/block.c: fix refcount leak in mmc_block_open() 2008-09-05 14:39:38 -07:00
mtd [MTD] [NAND] tmio_nand: fix base address programming 2008-09-05 15:34:35 +01:00
net forcedeth: fix kexec regression 2008-09-05 14:39:37 -07:00
nubus
of powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices 2008-08-20 09:50:21 +10:00
oprofile powerpc/cell/oprofile: Avoid double vfree of profile buffer 2008-08-26 10:24:46 +10:00
parisc
parport make parport_cs_release() static 2008-07-26 12:00:11 -07:00
pci PCI: fix pbus_size_mem() resource alignment for CardBus controllers 2008-09-04 01:33:59 -07:00
pcmcia [ARM] 5198/1: PalmTX: PCMCIA fixes 2008-08-16 16:35:33 +01:00
pnp PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors 2008-08-25 12:04:44 +02:00
power [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ps3
rapidio
regulator regulator: TI bq24022 Li-Ion Charger driver 2008-07-30 10:10:23 +01:00
rtc rtc-cmos: wake again from S5 2008-09-02 19:21:40 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2008-09-11 08:41:17 -07:00
sbus sparc/drivers: use linux/of_device.h instead of asm/of_device.h 2008-08-11 14:30:53 -07:00
scsi Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-09-11 08:42:55 -07:00
serial 8250: improve workaround for UARTs that don't re-assert THRE correctly 2008-09-02 19:21:38 -07:00
sh sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
sn
spi pxa2xx_spi: dma bugfixes 2008-09-13 14:41:52 -07:00
ssb ssb: allow compilation on systems without PCI 2008-08-18 11:05:13 -04:00
tc
telephony ixj: push BKL into driver and wrap ioctls 2008-07-25 10:53:43 -07:00
thermal
uio UIO: generic irq handling for some uio platform devices 2008-08-21 10:15:39 -07:00
usb Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-09-08 15:50:19 -07:00
video atmel_lcdfb: disable LCD and DMA engines when suspending 2008-09-13 14:41:52 -07:00
virtio virtio_balloon: fix towards_target when deflating balloon 2008-08-26 00:19:25 +10:00
w1
watchdog [WATCHDOG] removed unused #include <version.h> 2008-08-26 20:32:02 +00:00
xen xen: fix 2.6.27-rc5 xen balloon driver warnings 2008-09-08 20:21:15 +02:00
zorro move memory_read_from_buffer() from fs.h to string.h 2008-07-24 10:47:13 -07:00
Kconfig
Makefile USB: Add MUSB and TUSB support 2008-08-13 17:33:00 -07:00