From: Hongzhang Yang Date: Thu, 9 Aug 2012 03:00:56 +0000 (+0800) Subject: ENGR00217946 VPU kernel driver: fix suspend/resume i.MX6DL hang issue X-Git-Tag: v3.0.35-fsl_4.1.0~799 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5d4f913fc9a6312806d2008308f5ecffb861f24d;p=karo-tx-linux.git 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 --- 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);