Patchwork [3/5] UBUNTU: SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests

login
register
mail settings
Submitter Ike Panhc
Date Aug. 7, 2012, 12:35 p.m.
Message ID <1344342937-20260-1-git-send-email-ike.pan@canonical.com>
Download mbox | patch
Permalink /patch/175620/
State New
Headers show

Comments

Ike Panhc - Aug. 7, 2012, 12:35 p.m.
From: Rob Herring <rob.herring@calxeda.com>

BugLink: http://launchpad.net/bugs/1033853

At least for reset, the spinlock for l2x0 cache causes reboot to hang.
Convert writel to writel_relaxed for all writes to the PWR_REQ register.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Ike Panhc <ike.pan@canonical.com>
---
 arch/arm/mach-highbank/sysregs.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Patch

diff --git a/arch/arm/mach-highbank/sysregs.h b/arch/arm/mach-highbank/sysregs.h
index 0e91338..6b10548 100644
--- a/arch/arm/mach-highbank/sysregs.h
+++ b/arch/arm/mach-highbank/sysregs.h
@@ -31,22 +31,22 @@  extern void __iomem *sregs_base;
 
 static inline void hignbank_set_pwr_suspend(void)
 {
-	writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ);
+	writel_relaxed(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ);
 }
 
 static inline void hignbank_set_pwr_shutdown(void)
 {
-	writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ);
+	writel_relaxed(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ);
 }
 
 static inline void hignbank_set_pwr_soft_reset(void)
 {
-	writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
+	writel_relaxed(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 }
 
 static inline void hignbank_set_pwr_hard_reset(void)
 {
-	writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
+	writel_relaxed(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 }
 
 #endif