diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-03 14:03:31 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-09 10:34:48 -0500 |
commit | 29c140b623ce2c55131c6d1c26a2f3e455723b81 (patch) | |
tree | 92626a18b4ff1ab2c73da966b50828dc19968ad6 /arch | |
parent | d65b4e98d7ea3038b767b70fe8be959b2913f16d (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.c | 12 |
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 | ||
90 | extern void __init sa1110_mb_enable(void); | 90 | extern void sa1110_mb_enable(void); |
91 | extern 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! |