diff options
author | Bai Ping <ping.bai@nxp.com> | 2016-01-15 20:56:38 +0800 |
---|---|---|
committer | Bai Ping <ping.bai@nxp.com> | 2016-01-15 21:10:37 +0800 |
commit | 709e44c54036da35443f92b76aaf503e2c071e10 (patch) | |
tree | ae0293ac56f1d6c8803550a247d0f4b806f10c05 | |
parent | 0aa8f29a4cc251512d65c0c370572d9c58797fe1 (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.c | 5 |
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 */ |