aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Aaberg <jonas.aberg@stericsson.com>2011-06-21 10:33:16 +0200
committersaid m bagheri <ebgheri@steludxu2848.(none)>2011-06-29 10:30:36 +0200
commit598e659900716591df76883299995cdd3581d58e (patch)
tree69bf73d68099af8fb810efbca710284176ffbab7
parent6e95aebc1980e67bb2dcbabe481da1519ba7c537 (diff)
downloadlinux-2.6.38-lt-ux500-598e659900716591df76883299995cdd3581d58e.tar.gz
ARM: ux500: pm: Use relaxed read/write for gic
ST-Ericsson ID: - ST-Ericsson Linux next: ER338824 ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Change-Id: I5518c2dbefa417c9bc83d62d8ce19589bfd460ba Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25547 Reviewed-by: QATEST Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/pm/pm.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/mach-ux500/pm/pm.c b/arch/arm/mach-ux500/pm/pm.c
index eff54dcd274..127d18792b4 100644
--- a/arch/arm/mach-ux500/pm/pm.c
+++ b/arch/arm/mach-ux500/pm/pm.c
@@ -81,16 +81,14 @@ bool ux500_pm_gic_pending_interrupt(void)
/* 5 registers. STI & PPI not skipped */
for (i = 0; i < GIC_NUMBER_REGS; i++) {
- pr = readl(__io_address(U8500_GIC_DIST_BASE) +
- GIC_DIST_PENDING_SET + i * 4);
- er = readl(__io_address(U8500_GIC_DIST_BASE) +
- GIC_DIST_ENABLE_SET + i * 4);
+ pr = readl_relaxed(__io_address(U8500_GIC_DIST_BASE) +
+ GIC_DIST_PENDING_SET + i * 4);
+ er = readl_relaxed(__io_address(U8500_GIC_DIST_BASE) +
+ GIC_DIST_ENABLE_SET + i * 4);
if (pr & er)
return true; /* There is a pending interrupt */
-
}
-
return false;
}
@@ -128,7 +126,7 @@ void ux500_pm_prcmu_copy_gic_settings(void)
for (i = 0; i < GIC_NUMBER_SPI_REGS; i++) { /* 4*32 SPI interrupts */
/* +1 due to skip STI and PPI */
- er = readl(IO_ADDRESS(U8500_GIC_DIST_BASE) +
+ er = readl_relaxed(__io_address(U8500_GIC_DIST_BASE) +
GIC_DIST_ENABLE_SET + (i + 1) * 4);
writel(er, PRCM_ARMITMSK31TO0 + i * 4);
}
@@ -151,7 +149,7 @@ void ux500_pm_gpio_save_wake_up_status(void)
nmk_gpio_clocks_enable();
for (i = 0; i < num_banks; i++)
- ux500_gpio_wks[i] = readl(IO_ADDRESS(banks[i]) + NMK_GPIO_WKS);
+ ux500_gpio_wks[i] = readl(__io_address(banks[i]) + NMK_GPIO_WKS);
nmk_gpio_clocks_disable();
}