From 3dac608904eede285313b19b737920d57ebbafaf Mon Sep 17 00:00:00 2001 From: Alpha Lin Date: Fri, 15 May 2015 16:54:02 +0800 Subject: [PATCH] VPU, set the power-on flag after power domain already on. Previous register operation before power on. Software reset vpu inside vdpu interrupt handle. Signed-off-by: Alpha Lin --- arch/arm/mach-rockchip/vcodec_service.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rockchip/vcodec_service.c b/arch/arm/mach-rockchip/vcodec_service.c index 2c6bc0fb99ed..3fa90d33f10e 100644 --- a/arch/arm/mach-rockchip/vcodec_service.c +++ b/arch/arm/mach-rockchip/vcodec_service.c @@ -785,7 +785,6 @@ static void vpu_service_power_on(struct vpu_service_info *pservice) if (pservice->enabled) return ; - pservice->enabled = true; pr_info("%s: power on\n", dev_name(pservice->dev)); #define BIT_VCODEC_CLK_SEL (1<<10) @@ -808,6 +807,7 @@ static void vpu_service_power_on(struct vpu_service_info *pservice) #endif udelay(10); + pservice->enabled = true; wake_lock(&pservice->wake_lock); } @@ -2430,6 +2430,7 @@ static irqreturn_t vdpu_isr(int irq, void *dev_id) vpu_err("error: dec isr with no task waiting\n"); } else { reg_from_run_to_done(data, pservice->reg_codec); + writel(1, dev->hwregs + 101); } } -- 2.34.1