From 2e6b0e94342eb5d7e207518296017872f6b03db7 Mon Sep 17 00:00:00 2001 From: Simon Xue Date: Thu, 16 Apr 2020 17:36:08 +0800 Subject: [PATCH] soc: rockchip: hw-decompress: restart decompress if fail Change-Id: I22ab91415c317abba6f12b3b37ef906a50c7761a Signed-off-by: Simon Xue --- drivers/soc/rockchip/rockchip_decompress.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/soc/rockchip/rockchip_decompress.c b/drivers/soc/rockchip/rockchip_decompress.c index 8ec1f8cffb77..06334f85fa95 100644 --- a/drivers/soc/rockchip/rockchip_decompress.c +++ b/drivers/soc/rockchip/rockchip_decompress.c @@ -116,8 +116,9 @@ static irqreturn_t rk_decom_irq_handler(int irq, void *priv) dev_info(rk_dec->dev, "decom completed\n"); } else { dev_info(rk_dec->dev, - "decom failed, irq_status = 0x%x, decom_status = 0x%x\n", + "decom failed, irq_status = 0x%x, decom_status = 0x%x, try again !\n", irq_status, decom_status); + writel(DECOM_ENABLE, rk_dec->regs + DECOM_ENR); } } @@ -138,10 +139,9 @@ static irqreturn_t rk_decom_irq_thread(int irq, void *priv) start = phys_to_virt(rk_dec->mem_start); end = start + rk_dec->mem_size; free_reserved_area(start, end, -1, "ramdisk gzip archive"); + clk_bulk_disable_unprepare(rk_dec->num_clocks, rk_dec->clocks); } - clk_bulk_disable_unprepare(rk_dec->num_clocks, rk_dec->clocks); - return IRQ_HANDLED; }