On Tue Aug 18 21:24:17 2026 +0530, Vishnu Reddy wrote:
> In iris_vpu_power_off_hw(), iris_disable_power_domains() was called
> before the associated clocks (IRIS_BSE_HW_CLK, IRIS_HW_AHB_CLK,
> IRIS_HW_CLK) were disabled and unprepared. This reverses the correct
> power-down sequence: with the power domain already removed, the
> subsequent clk_disable_unprepare() calls end up operating on
> clock-controller hardware that is no longer powered, which can hang
> or behave unpredictably.
> 
> Reorder the calls so iris_disable_power_domains() runs after all
> three clocks are disabled, ensuring clocks are always turned off
> while their power domain is still active, and mirroring the reverse
> of the power-on sequence.
> 
> Fixes: bb8a95aa038e ("media: iris: implement power management")
> Cc: [email protected]
> Reviewed-by: Bryan O'Donoghue <[email protected]>
> Signed-off-by: Vishnu Reddy <[email protected]>
> Signed-off-by: Bryan O'Donoghue <[email protected]>

Patch committed.

Thanks,
Bryan O'Donoghue

 drivers/media/platform/qcom/iris/iris_vpu_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.c 
b/drivers/media/platform/qcom/iris/iris_vpu_common.c
index 2ef8004e976e..c9f5dc851d9f 100644
--- a/drivers/media/platform/qcom/iris/iris_vpu_common.c
+++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c
@@ -223,10 +223,10 @@ disable_power:
 void iris_vpu_power_off_hw(struct iris_core *core)
 {
        
dev_pm_genpd_set_hwmode(core->pmdomain_tbl->pd_devs[IRIS_HW_POWER_DOMAIN], 
false);
-       iris_disable_power_domains(core, 
core->pmdomain_tbl->pd_devs[IRIS_HW_POWER_DOMAIN]);
        iris_disable_unprepare_clock(core, IRIS_BSE_HW_CLK);
        iris_disable_unprepare_clock(core, IRIS_HW_AHB_CLK);
        iris_disable_unprepare_clock(core, IRIS_HW_CLK);
+       iris_disable_power_domains(core, 
core->pmdomain_tbl->pd_devs[IRIS_HW_POWER_DOMAIN]);
 }
 
 void iris_vpu_power_off(struct iris_core *core)
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to