From: Herman Chen Date: Wed, 27 May 2015 02:42:38 +0000 (+0800) Subject: vcodec: add soft reset after reading dec registers X-Git-Tag: firefly_0821_release~4102 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=663f6441d7076353b9dea5226386f4a519a38286;p=firefly-linux-kernel-4.4.55.git vcodec: add soft reset after reading dec registers Sometimes decoder got a timeout error and can not recover from error status. We need to add soft reset after reading dec registers. Signed-off-by: Herman Chen --- diff --git a/arch/arm/mach-rockchip/vcodec_service.c b/arch/arm/mach-rockchip/vcodec_service.c index 8e0143547b55..4a13af81ba64 100644 --- a/arch/arm/mach-rockchip/vcodec_service.c +++ b/arch/arm/mach-rockchip/vcodec_service.c @@ -2446,7 +2446,8 @@ 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); + /* avoid vpu timeout and can't recover problem */ + VDPU_SOFT_RESET(data->regs); } }