summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHongzhang Yang <Hongzhang.Yang@freescale.com>2012-08-09 11:00:56 +0800
committerHongzhang Yang <Hongzhang.Yang@freescale.com>2012-08-09 11:00:56 +0800
commita471d39302638ad37c37d6bd4fc477a0a72f93a9 (patch)
tree34cfb093eeebb6a4216c5e797d20ae855f755ef8 /drivers
parent7856bddae15702a703110e4a92c4f305c8195c49 (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.c4
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);