From 663f6441d7076353b9dea5226386f4a519a38286 Mon Sep 17 00:00:00 2001 From: Herman Chen Date: Wed, 27 May 2015 10:42:38 +0800 Subject: [PATCH] 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 --- 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 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); } } -- 2.34.1