From patchwork Tue Aug 7 12:35:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/5] UBUNTU: SAUCE: ARM: highbank: use writel_relaxed variant for pwr requests Date: Tue, 07 Aug 2012 02:35:37 -0000 From: Ike Panhc X-Patchwork-Id: 175620 Message-Id: <1344342937-20260-1-git-send-email-ike.pan@canonical.com> To: kernel-team@lists.ubuntu.com From: Rob Herring 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 Signed-off-by: Ike Panhc --- 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