[PATCH 11/14] UBUNTU: SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests
Ike Panhc
ike.pan at canonical.com
Fri Aug 3 01:26:14 UTC 2012
From: Rob Herring <rob.herring at calxeda.com>
BugLink: http://launchpad.net/bugs/1008345
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 at calxeda.com>
Signed-off-by: Ike Panhc <ike.pan at canonical.com>
---
arch/arm/mach-highbank/sysregs.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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
--
1.7.9.5
More information about the kernel-team
mailing list