From ddb9e6d1ea2305874a1ee45f8d520d7185e77b5d Mon Sep 17 00:00:00 2001 From: Hu Kejun Date: Fri, 10 Jul 2020 15:45:26 +0800 Subject: [PATCH] media: rockchip: isp: fix warning on clk_core_disable_lock when system enter suspend state Signed-off-by: Hu Kejun Change-Id: I9a579396b6a93d6087e629e24369bdc48b417ad7 --- drivers/media/platform/rockchip/isp/dev.c | 16 ++++++---------- .../platform/rockchip/isp/rkisp_tb_helper.c | 8 ++++++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/dev.c b/drivers/media/platform/rockchip/isp/dev.c index db9f16585718..bc3a9bfad825 100644 --- a/drivers/media/platform/rockchip/isp/dev.c +++ b/drivers/media/platform/rockchip/isp/dev.c @@ -1234,10 +1234,8 @@ static int __maybe_unused rkisp_runtime_suspend(struct device *dev) disable_irq(isp_dev->mipi_irq); } - if (!isp_dev->is_thunderboot) { - rkisp_disable_sys_clk(isp_dev); - ret = pinctrl_pm_select_sleep_state(dev); - } + rkisp_disable_sys_clk(isp_dev); + ret = pinctrl_pm_select_sleep_state(dev); return ret; } @@ -1247,12 +1245,10 @@ static int __maybe_unused rkisp_runtime_resume(struct device *dev) struct rkisp_device *isp_dev = dev_get_drvdata(dev); int ret; - if (!isp_dev->is_thunderboot) { - ret = pinctrl_pm_select_default_state(dev); - if (ret < 0) - return ret; - rkisp_enable_sys_clk(isp_dev); - } + ret = pinctrl_pm_select_default_state(dev); + if (ret < 0) + return ret; + rkisp_enable_sys_clk(isp_dev); if (isp_dev->isp_ver == ISP_V12 || isp_dev->isp_ver == ISP_V13) { writel(0, isp_dev->base_addr + CIF_ISP_CSI0_MASK1); diff --git a/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c b/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c index 7696c8bb9edc..f782b878a422 100644 --- a/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c +++ b/drivers/media/platform/rockchip/isp/rkisp_tb_helper.c @@ -31,6 +31,7 @@ static const char *const loader_protect_clocks[] = { "clk_scr1_jtag" }; +static bool rkisp_tb_firstboot; static struct clk **loader_clocks; static int __maybe_unused rkisp_tb_clocks_loader_protect(void) { @@ -76,13 +77,15 @@ static int __maybe_unused rkisp_tb_clocks_loader_unprotect(void) static int __maybe_unused rkisp_tb_runtime_suspend(struct device *dev) { - rkisp_tb_clocks_loader_unprotect(); return 0; } static int __maybe_unused rkisp_tb_runtime_resume(struct device *dev) { - rkisp_tb_clocks_loader_protect(); + if (rkisp_tb_firstboot) { + rkisp_tb_firstboot = false; + rkisp_tb_clocks_loader_protect(); + } return 0; } @@ -102,6 +105,7 @@ static const struct of_device_id rkisp_tb_plat_of_match[] = { static int rkisp_tb_plat_probe(struct platform_device *pdev) { + rkisp_tb_firstboot = true; pm_runtime_enable(&pdev->dev); pm_runtime_get_sync(&pdev->dev);