summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBai Ping <ping.bai@nxp.com>2016-01-15 20:56:38 +0800
committerBai Ping <ping.bai@nxp.com>2016-01-15 21:10:37 +0800
commit709e44c54036da35443f92b76aaf503e2c071e10 (patch)
treeae0293ac56f1d6c8803550a247d0f4b806f10c05
parent0aa8f29a4cc251512d65c0c370572d9c58797fe1 (diff)
MLK-12270 ARM: imx: upate the gpc setting using read-modify-update flow
The GPC setting should be modified using the read-modify-update flow. Signed-off-by: Bai Ping <ping.bai@nxp.com>
-rw-r--r--arch/arm/mach-imx/gpcv2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/gpcv2.c b/arch/arm/mach-imx/gpcv2.c
index e6714f1b8abb..636845b0d54f 100644
--- a/arch/arm/mach-imx/gpcv2.c
+++ b/arch/arm/mach-imx/gpcv2.c
@@ -193,8 +193,9 @@ void imx_gpcv2_set_slot_ack(u32 index, enum imx_gpc_slot m_core,
if (index >= MAX_SLOT_NUMBER)
pr_err("Invalid slot index!\n");
/* set slot */
- writel_relaxed((mode + 1) << (m_core * 2), gpc_base +
- GPC_SLOT0_CFG + index * 4);
+ writel_relaxed(readl_relaxed(gpc_base + GPC_SLOT0_CFG + index * 4) |
+ ((mode + 1) << (m_core * 2)),
+ gpc_base + GPC_SLOT0_CFG + index * 4);
if (ack) {
/* set ack */