Re: [PATCH] media: qcom: iris: rollback OPP vote on PM resume failure

From: Konrad Dybcio

Date: Thu Jun 18 2026 - 06:24:27 EST


On 6/4/26 7:18 AM, Hungyu Lin wrote:
> Rollback the maximum OPP vote when
> pm_runtime_resume_and_get() fails in
> iris_enable_power_domains().
>
> This ensures the performance state vote is released when
> power domain enablement does not complete successfully.
>
> Fixes: bb8a95aa038e ("media: iris: implement power management")
> Signed-off-by: Hungyu Lin <dennylin0707@xxxxxxxxx>
> ---
> drivers/media/platform/qcom/iris/iris_resources.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/media/platform/qcom/iris/iris_resources.c
> index f5e3341e1430..a7d25f7a201a 100644
> --- a/drivers/media/platform/qcom/iris/iris_resources.c
> +++ b/drivers/media/platform/qcom/iris/iris_resources.c
> @@ -79,8 +79,10 @@ int iris_enable_power_domains(struct iris_core *core, struct device *pd_dev)
> return ret;
>
> ret = pm_runtime_resume_and_get(pd_dev);
> - if (ret)
> + if (ret) {
> + iris_opp_set_rate(core->dev, 0);
> return ret;
> + }

opp_set_rate(0) would only drop the performance vote but keep the
clock ticking (without ensuring power). If the device's power state
remains disabled, the OPP vote will be kept disabled too. I don't
think we need it at all. The clock may possibly need to be disabled
instead. Or maybe not, if it's hw-controlled (which I'm not sure if
it is)

Konrad