]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
media: venus: core: change clk enable and disable order in resume and suspend
authorMansur Alisha Shaik <mansur@codeaurora.org>
Mon, 19 Oct 2020 04:18:11 +0000 (06:18 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 16 Nov 2020 18:08:48 +0000 (19:08 +0100)
Currently video driver is voting after clk enable and un voting
before clk disable. This is incorrect, video driver should vote
before clk enable and unvote after clk disable.

Corrected this by changing the order of clk enable and clk disable.

suspend")

Fixes: 07f8f22a33a9e ("media: venus: core: remove CNOC voting while device
Signed-off-by: Mansur Alisha Shaik <mansur@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/core.c

index 6103aaf43987b080aef1095376a3748b17dc8524..52a3886c496eb2f5faf3b44d6fa71e8b2d60d61d 100644 (file)
@@ -355,13 +355,16 @@ static __maybe_unused int venus_runtime_suspend(struct device *dev)
        if (ret)
                return ret;
 
+       if (pm_ops->core_power) {
+               ret = pm_ops->core_power(dev, POWER_OFF);
+               if (ret)
+                       return ret;
+       }
+
        ret = icc_set_bw(core->cpucfg_path, 0, 0);
        if (ret)
                return ret;
 
-       if (pm_ops->core_power)
-               ret = pm_ops->core_power(dev, POWER_OFF);
-
        return ret;
 }
 
@@ -371,16 +374,16 @@ static __maybe_unused int venus_runtime_resume(struct device *dev)
        const struct venus_pm_ops *pm_ops = core->pm_ops;
        int ret;
 
+       ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000));
+       if (ret)
+               return ret;
+
        if (pm_ops->core_power) {
                ret = pm_ops->core_power(dev, POWER_ON);
                if (ret)
                        return ret;
        }
 
-       ret = icc_set_bw(core->cpucfg_path, 0, kbps_to_icc(1000));
-       if (ret)
-               return ret;
-
        return hfi_core_resume(core, false);
 }