From: Yinbo Zhu <yinbo.zhu@nxp.com>
To: <yinbo.zhu@nxp.com>, Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
"Catalin Marinas )" <catalin.marinas@arm.com>,
"Will Deacon )" <will.deacon@arm.com>,
"Lorenzo Pieralisi )" <lorenzo.pieralisi@arm.com>,
Li Yang <leoyang.li@nxp.com>
Cc: xiaobo.xie@nxp.com, ran.wang_1@nxp.com,
"Daniel Lezcano" <daniel.lezcano@linaro.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Shawn Guo" <shawnguo@kernel.org>,
"Madalin Bucur" <madalin.bucur@nxp.com>,
"Hou Zhiqiang" <Zhiqiang.Hou@nxp.com>,
"Changming Huang" <jerry.huang@nxp.com>,
"Minghuan Lian" <Minghuan.Lian@nxp.com>,
"Zhao Qiang" <qiang.zhao@nxp.com>,
"Fabio Estevam" <fabio.estevam@nxp.com>,
"jiaheng . fan" <jiaheng.fan@nxp.com>, "Po Liu" <po.liu@nxp.com>,
"Nipun Gupta" <nipun.gupta@nxp.com>,
"Horia Geantă" <horia.geanta@nxp.com>,
"Priyanka Jain" <priyanka.jain@nxp.com>,
"Sumit Garg" <sumit.garg@nxp.com>,
costi <constantin.tudor@freescale.com>,
"Bogdan Purcareata" <bogdan.purcareata@nxp.com>,
"Meng Yi" <meng.yi@nxp.com>,
"Wang Dongsheng" <dongsheng.wang@nxp.com>,
"open list:CLOCKSOURCE,
CLOCKEVENT DRIVERS" <linux-kernel@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
linux-arm-kernel@lists.infradead.org,
"open list:FREESCALE SOC DRIVERS" <linuxppc-dev@lists.ozlabs.org>,
"Tang Yuantian" <Yuantian.Tang@nxp.com>,
ying.zhang22455@nxp.com
Subject: [PATCH 2/9] armv8: pm: Fix issue of rcpm driver wrongly program other IP control bits
Date: Fri, 11 May 2018 11:35:23 +0800 [thread overview]
Message-ID: <20180511033530.7931-2-yinbo.zhu@nxp.com> (raw)
In-Reply-To: <20180511033530.7931-1-yinbo.zhu@nxp.com>
From: Ran Wang <ran.wang_1@nxp.com>
When rcpm driver get target register data from DTS property 'fsl,
rcpm-wakeup' (second value), it directly write that data to register
RCPM_IPPDEXPCRx rather than 'OR' the value read from it before. This
operation will over-write those non-related IP control bit which
might have been programmed, should be prevented.
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
---
drivers/soc/fsl/rcpm.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/soc/fsl/rcpm.c b/drivers/soc/fsl/rcpm.c
index ff0477b..39eabfb 100644
--- a/drivers/soc/fsl/rcpm.c
+++ b/drivers/soc/fsl/rcpm.c
@@ -75,6 +75,7 @@ static void rcpm_wakeup_fixup(struct device *dev, void *data)
static int rcpm_suspend_prepare(void)
{
int i;
+ u32 val;
WARN_ON(!rcpm);
@@ -84,9 +85,12 @@ static int rcpm_suspend_prepare(void)
dpm_for_each_dev(NULL, rcpm_wakeup_fixup);
for (i = 0; i < rcpm->ipp_num; i++) {
- rcpm_reg_write(rcpm->ippdexpcr_offset + 4 * i,
- rcpm->ippdexpcr[i]);
- pr_debug("ippdexpcr%d = 0x%x\n", i, rcpm->ippdexpcr[i]);
+ if (rcpm->ippdexpcr[i]) {
+ val = rcpm_reg_read(rcpm->ippdexpcr_offset + 4 * i);
+ rcpm_reg_write(rcpm->ippdexpcr_offset + 4 * i,
+ val | rcpm->ippdexpcr[i]);
+ pr_debug("ippdexpcr%d = 0x%x\n", i, rcpm->ippdexpcr[i]);
+ }
}
return 0;
--
1.7.1
next prev parent reply other threads:[~2018-05-11 3:36 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-11 3:35 [PATCH 1/9] armv8: pm: add rcpm module support Yinbo Zhu
2018-05-11 3:35 ` Yinbo Zhu [this message]
2018-05-11 3:35 ` [PATCH 3/9] soc: fsl: set rcpm bit for FTM Yinbo Zhu
2018-05-11 17:00 ` Leo Li
2018-05-14 7:47 ` Yinbo Zhu
2018-05-11 3:35 ` [PATCH 4/9] arm64: dts: ls208xa: Add the identify of the platform to support to set rcpm bit Yinbo Zhu
2018-05-11 3:35 ` [PATCH 5/9] drivers: firmware: psci: use psci v0.2 to implement sleep Yinbo Zhu
2018-05-11 3:35 ` [PATCH 6/9] soc: fsl: fix the compilation issue Yinbo Zhu
2018-05-11 3:35 ` [PATCH 7/9] arm64: dts: ls1043a: Add the identify of the platform to support to set rcpm bit Yinbo Zhu
2018-05-11 3:35 ` [PATCH 8/9] arm64: dts: ls1046a: " Yinbo Zhu
2018-05-11 3:35 ` [PATCH 9/9] armv8: add psci 0.2 stardard support Yinbo Zhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180511033530.7931-2-yinbo.zhu@nxp.com \
--to=yinbo.zhu@nxp.com \
--cc=Minghuan.Lian@nxp.com \
--cc=Yuantian.Tang@nxp.com \
--cc=Zhiqiang.Hou@nxp.com \
--cc=bogdan.purcareata@nxp.com \
--cc=catalin.marinas@arm.com \
--cc=constantin.tudor@freescale.com \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dongsheng.wang@nxp.com \
--cc=fabio.estevam@nxp.com \
--cc=horia.geanta@nxp.com \
--cc=jerry.huang@nxp.com \
--cc=jiaheng.fan@nxp.com \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=madalin.bucur@nxp.com \
--cc=mark.rutland@arm.com \
--cc=meng.yi@nxp.com \
--cc=nipun.gupta@nxp.com \
--cc=po.liu@nxp.com \
--cc=priyanka.jain@nxp.com \
--cc=qiang.zhao@nxp.com \
--cc=ran.wang_1@nxp.com \
--cc=robh+dt@kernel.org \
--cc=shawnguo@kernel.org \
--cc=sumit.garg@nxp.com \
--cc=tglx@linutronix.de \
--cc=will.deacon@arm.com \
--cc=xiaobo.xie@nxp.com \
--cc=ying.zhang22455@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox