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
..
aty
radeonfb: fix accel engine hangs
2008-08-12 16:07:28 -07:00
backlight
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
console
fbcon: prevent cursor disappearance after switching to 512 character font
2008-08-12 16:07:29 -07:00
display
fbdev: fix race in device_create
2008-05-20 13:31:53 -07:00
geode
lxfb: fix console blanking
2008-07-24 10:47:40 -07:00
i810
i810fb: fix console switch regression
2008-03-19 18:53:36 -07:00
intelfb
i2c: Let framebuffer drivers set their I2C bus class to DDC
2008-07-14 22:38:28 +02:00
kyro
logo
video/logo: add support for Blackfin/Linux logo for framebuffer console
2008-05-14 19:11:14 -07:00
matrox
matrox maven: convert to a new-style i2c driver
2008-08-12 16:07:29 -07:00
mbx
mbxfb: fix incorrect argument type
2008-03-10 18:01:20 -07:00
nvidia
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
omap
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
pnx4008
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
riva
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
savage
savagefb: speed up the I2C bus
2008-04-28 08:58:38 -07:00
sis
video/sis/: remove compat code
2008-07-24 10:47:37 -07:00
vermilion
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
68328fb.c
acornfb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
acornfb.h
am200epd.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
amba-clcd.c
amifb.c
drivers/video/amifb.c cleanups
2008-07-24 10:47:40 -07:00
arcfb.c
arkfb.c
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
asiliantfb.c
atafb.c
atafb: test virtual screen range before subtraction on unsigned
2008-07-24 10:47:37 -07:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c
atmel_lcdfb: disable LCD and DMA engines when suspending
2008-09-13 14:41:52 -07:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bf54x-lq043fb.c
Blackfin arch: move include/asm-blackfin header files to arch/blackfin
2008-08-27 10:51:02 +08:00
bfin-t350mcqb-fb.c
lcd: add lcd_device to check_fb() entry in lcd_ops
2008-07-24 10:47:40 -07:00
bt431.h
bt455.h
bw2.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
c2p.c
export c2p
2008-07-20 17:24:39 -07:00
c2p.h
carminefb.c
fbdev: add the carmine FB driver
2008-07-24 10:47:34 -07:00
carminefb.h
fbdev: add the carmine FB driver
2008-07-24 10:47:34 -07:00
carminefb_regs.h
fbdev: add the carmine FB driver
2008-07-24 10:47:34 -07:00
cfbcopyarea.c
fb: add support for foreign endianness
2008-04-28 08:58:35 -07:00
cfbfillrect.c
fb: add support for foreign endianness
2008-04-28 08:58:35 -07:00
cfbimgblt.c
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
cg3.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
cg6.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
cg14.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
chipsfb.c
PM: Introduce PM_EVENT_HIBERNATE callback state
2008-02-23 10:40:04 -08:00
cirrusfb.c
cirrusfb: check_par fixes
2008-09-02 19:21:38 -07:00
clps711xfb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
cobalt_lcdfb.c
fbdev: add new Cobalt LCD framebuffer driver
2008-07-24 10:47:40 -07:00
controlfb.c
controlfb.h
cyber2000fb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
cyber2000fb.h
cyblafb.c
dnfb.c
m68k: dnfb doesnt check for Apollo
2008-05-18 13:28:49 -07:00
edid.h
efifb.c
epson1355fb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
fb_ddc.c
i2c: Let framebuffer drivers set their I2C bus class to DDC
2008-07-14 22:38:28 +02:00
fb_defio.c
fbdefio: add set_page_dirty handler to deferred IO FB
2008-08-20 15:40:32 -07:00
fb_draw.h
fb: add support for foreign endianness
2008-04-28 08:58:35 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c
fbdefio: add set_page_dirty handler to deferred IO FB
2008-08-20 15:40:32 -07:00
fbmon.c
fbdev: width and height are unsigned
2008-07-24 10:47:39 -07:00
fbsysfs.c
ffb.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
fm2fb.c
fsl-diu-fb.c
freescale DIU: bug fix: add sanity check for AOI position
2008-08-15 08:35:43 -07:00
fsl-diu-fb.h
fbdev: powerpc: driver for Freescale 8610 and 5121 DIU
2008-04-28 08:58:40 -07:00
g364fb.c
gbefb.c
gbefb: cmap FIFO timeout
2008-07-30 09:41:47 -07:00
gxt4500.c
fbdev: use DIV_ROUND_UP or roundup
2008-04-28 08:58:35 -07:00
hecubafb.c
fbdev: platforming hecubafb and n411
2008-04-28 08:58:41 -07:00
hgafb.c
hgafb: convert to new platform driver API
2008-07-24 10:47:39 -07:00
hitfb.c
video: Fix up hp6xx driver build regressions.
2008-07-30 02:16:12 +09:00
hpfb.c
m68k: Return -ENODEV if no device is found
2008-05-18 13:28:50 -07:00
igafb.c
imacfb.c
imsttfb.c
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
imxfb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
imxfb.h
Kconfig
video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver
2008-07-24 10:47:41 -07:00
leo.c
sparc: get leo framebuffer working
2008-06-10 14:13:09 -07:00
macfb.c
make macfb_setup() static
2008-07-26 12:00:12 -07:00
macmodes.c
macmodes.h
Makefile
video: Kill off leaked CONFIG_FB_SH7343VOU reference.
2008-07-29 06:39:26 +09:00
maxinefb.c
metronomefb.c
video: use get/put_unaligned_* helpers
2008-04-29 08:06:28 -07:00
modedb.c
fbdev: export symbol fb_mode_option
2008-06-06 11:29:12 -07:00
n411.c
fbdev: platforming hecubafb and n411
2008-04-28 08:58:41 -07:00
neofb.c
neofb: drop the xtimings structure
2008-07-24 10:47:41 -07:00
offb.c
fbdev: Teaches offb about palette on radeon r5xx/r6xx
2008-07-22 10:39:36 +10:00
output.c
p9100.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
platinumfb.c
platinumfb: Use linux/of_{device,platform}.h instead of asm
2008-06-09 13:46:38 +10:00
platinumfb.h
pm2fb.c
pm2fb: free cmap memory on module remove
2008-08-20 15:40:31 -07:00
pm3fb.c
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
pmag-aa-fb.c
fbcon: fix color generation for monochrome framebuffer
2008-02-06 10:41:18 -08:00
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c
powerpc/ps3: Add a sub-match id to ps3_system_bus
2008-07-22 10:39:33 +10:00
pvr2fb.c
sh: More header path fixups for mach dir refactoring.
2008-07-29 22:10:01 +09:00
pxafb.c
[ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified
2008-08-16 16:39:16 +01:00
pxafb.h
pxafb: convert ctrlr_sem in a mutex
2008-07-24 10:47:37 -07:00
q40fb.c
s1d13xxxfb.c
s3c2410fb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
s3c2410fb.h
S3C2410: clean out changelog header and tidy
2008-05-24 09:56:13 -07:00
s3fb.c
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
sa1100fb.c
[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
2008-08-07 09:55:48 +01:00
sa1100fb.h
sa1100fb: convert ctrlr_sem in a mutex
2008-07-24 10:47:37 -07:00
sbuslib.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
sbuslib.h
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
sgivwfb.c
x86, VisWS: turn into generic arch, move definitions
2008-07-10 18:55:40 +02:00
sh7760fb.c
sh7760fb: write colormap value to hardware
2008-07-28 16:30:21 -07:00
sh_mobile_lcdcfb.c
video: export sh_mobile_lcdc panel size
2008-08-11 20:17:55 +09:00
skeletonfb.c
skeletonfb: update to correct platform driver usage
2008-07-24 10:47:39 -07:00
sm501fb.c
sm501: fixup allocation code to be 64bit resource compliant
2008-07-24 10:47:40 -07:00
sstfb.c
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
sticore.h
video/console/stico{n,re}.c: make code static
2008-07-26 12:00:12 -07:00
stifb.c
video/stifb.c: make 2 functions static
2008-07-26 12:00:12 -07:00
sunxvr500.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
sunxvr2500.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
svgalib.c
syscopyarea.c
fb: add support for foreign endianness
2008-04-28 08:58:35 -07:00
sysfillrect.c
fb: add support for foreign endianness
2008-04-28 08:58:35 -07:00
sysimgblt.c
video: replace remaining __FUNCTION__ occurrences
2008-04-28 08:58:42 -07:00
tcx.c
sparc video: remove open boot prom code
2008-05-08 21:37:30 -07:00
tdfxfb.c
tdfxfb: fix frame buffer name overrun
2008-09-02 19:21:39 -07:00
tgafb.c
tridentfb.c
tridentfb: remove warning message that cyblafb driver should be used
2008-07-24 10:47:36 -07:00
uvesafb.c
uvesafb: change mode parameter to mode_option
2008-07-24 10:47:37 -07:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c
vfb: only enable if explicitly requested when compiled in
2008-07-24 10:47:39 -07:00
vga16fb.c
vga16fb: source code improvement
2008-07-24 10:47:38 -07:00
vgastate.c
vt8623fb.c
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
w100fb.c
w100fb: add 80 MHz modeline
2008-07-04 10:40:08 -07:00
w100fb.h
xen-fbfront.c
xen pvfb: Dynamic mode support (screen resizing)
2008-05-27 10:11:36 +02:00
xilinxfb.c
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00