]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00217946 VPU kernel driver: fix suspend/resume i.MX6DL hang issue
authorHongzhang Yang <Hongzhang.Yang@freescale.com>
Thu, 9 Aug 2012 03:00:56 +0000 (11:00 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:12:38 +0000 (14:12 +0200)
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>
drivers/mxc/vpu/mxc_vpu.c

index 26fc95a695740cfc059fa3894d39920e129c24dc..8904568023316c6f97fc84ba688725078ee5c927 100644 (file)
@@ -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);