aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-02-03 14:03:31 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-02-09 10:34:48 -0500
commit29c140b623ce2c55131c6d1c26a2f3e455723b81 (patch)
tree92626a18b4ff1ab2c73da966b50828dc19968ad6 /arch
parentd65b4e98d7ea3038b767b70fe8be959b2913f16d (diff)
ARM: sa1111: fix memory request/grant setup on PM events
We weren't re-enabling the memory request/grant signals on resume, causing DMA devices on the sa1111 to fail. Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/common/sa1111.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 61691cdbdcf2..c7bed309b3aa 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -87,7 +87,8 @@
87#define IRQ_S0_BVD1_STSCHG (53) 87#define IRQ_S0_BVD1_STSCHG (53)
88#define IRQ_S1_BVD1_STSCHG (54) 88#define IRQ_S1_BVD1_STSCHG (54)
89 89
90extern void __init sa1110_mb_enable(void); 90extern void sa1110_mb_enable(void);
91extern void sa1110_mb_disable(void);
91 92
92/* 93/*
93 * We keep the following data for the overall SA1111. Note that the 94 * We keep the following data for the overall SA1111. Note that the
@@ -926,6 +927,10 @@ static int sa1111_suspend(struct platform_device *dev, pm_message_t state)
926 927
927 spin_unlock_irqrestore(&sachip->lock, flags); 928 spin_unlock_irqrestore(&sachip->lock, flags);
928 929
930#ifdef CONFIG_ARCH_SA1100
931 sa1110_mb_disable();
932#endif
933
929 return 0; 934 return 0;
930} 935}
931 936
@@ -966,6 +971,11 @@ static int sa1111_resume(struct platform_device *dev)
966 */ 971 */
967 sa1111_wake(sachip); 972 sa1111_wake(sachip);
968 973
974#ifdef CONFIG_ARCH_SA1100
975 /* Enable the memory bus request/grant signals */
976 sa1110_mb_enable();
977#endif
978
969 /* 979 /*
970 * Only lock for write ops. Also, sa1111_wake must be called with 980 * Only lock for write ops. Also, sa1111_wake must be called with
971 * released spinlock! 981 * released spinlock!