diff options
author | Hongzhang Yang <Hongzhang.Yang@freescale.com> | 2012-08-09 11:00:56 +0800 |
---|---|---|
committer | Hongzhang Yang <Hongzhang.Yang@freescale.com> | 2012-08-09 11:00:56 +0800 |
commit | a471d39302638ad37c37d6bd4fc477a0a72f93a9 (patch) | |
tree | 34cfb093eeebb6a4216c5e797d20ae855f755ef8 /drivers | |
parent | 7856bddae15702a703110e4a92c4f305c8195c49 (diff) |
ENGR00217946 VPU kernel driver: fix suspend/resume i.MX6DL hang issue
Bug: VPU easily hang during suspend/resume standby mode i.MX6Q/i.MX6DL
Fix: standby mode doesn't power off/on PU but changes voltage instead, thus
VPU requires a reset cause there's always chance some cell is on
unstable state after voltage change
suspend/resume DSM is OK because it power off/on PU and probably there is a
power-on-reset sequence embedded in SOC
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mxc/vpu/mxc_vpu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mxc/vpu/mxc_vpu.c b/drivers/mxc/vpu/mxc_vpu.c index 26fc95a69574..890456802331 100644 --- a/drivers/mxc/vpu/mxc_vpu.c +++ b/drivers/mxc/vpu/mxc_vpu.c @@ -821,6 +821,10 @@ static int vpu_resume(struct platform_device *pdev) clk_enable(vpu_clk); + /* reset VPU in case of voltage change */ + if (vpu_plat->reset) + vpu_plat->reset(); + pc = READ_REG(BIT_CUR_PC); if (pc) { clk_disable(vpu_clk); |