drivers/media/platform/qcom/iris/iris_vpu_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Driver implements different callbacks for the power off controller
(.power_off_controller):
- iris_vpu_power_off_controller,
- iris_vpu33_power_off_controller,
The generic wrapper for handling power off - iris_vpu_power_off() -
calls them via 'iris_platform_data->vpu_ops', so shall the cleanup code
in iris_vpu_power_on().
This makes also sense if looking at caller of iris_vpu_power_on(), which
unwinds also with the wrapper calling respective platfortm code (unwinds
with iris_vpu_power_off()).
Otherwise power off sequence on the newer VPU3.3 in error path is not
complete.
Fixes: c69df5de4ac3 ("media: platform: qcom/iris: add power_off_controller to vpu_ops")
Cc: <stable@vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
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 268e45acaa7c..42a7c53ce48e 100644
--- a/drivers/media/platform/qcom/iris/iris_vpu_common.c
+++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c
@@ -359,7 +359,7 @@ int iris_vpu_power_on(struct iris_core *core)
return 0;
err_power_off_ctrl:
- iris_vpu_power_off_controller(core);
+ core->iris_platform_data->vpu_ops->power_off_controller(core);
err_unvote_icc:
iris_unset_icc_bw(core);
err:
--
2.43.0
On 7/2/2025 7:11 PM, Krzysztof Kozlowski wrote: > Driver implements different callbacks for the power off controller > (.power_off_controller): > > - iris_vpu_power_off_controller, > - iris_vpu33_power_off_controller, > > The generic wrapper for handling power off - iris_vpu_power_off() - > calls them via 'iris_platform_data->vpu_ops', so shall the cleanup code > in iris_vpu_power_on(). > > This makes also sense if looking at caller of iris_vpu_power_on(), which > unwinds also with the wrapper calling respective platfortm code (unwinds > with iris_vpu_power_off()). > > Otherwise power off sequence on the newer VPU3.3 in error path is not > complete. > > Fixes: c69df5de4ac3 ("media: platform: qcom/iris: add power_off_controller to vpu_ops") > Cc: <stable@vger.kernel.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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 268e45acaa7c..42a7c53ce48e 100644 > --- a/drivers/media/platform/qcom/iris/iris_vpu_common.c > +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c > @@ -359,7 +359,7 @@ int iris_vpu_power_on(struct iris_core *core) > return 0; > > err_power_off_ctrl: > - iris_vpu_power_off_controller(core); > + core->iris_platform_data->vpu_ops->power_off_controller(core); > err_unvote_icc: > iris_unset_icc_bw(core); > err: Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com>
On 02/07/2025 14:41, Krzysztof Kozlowski wrote: > Driver implements different callbacks for the power off controller > (.power_off_controller): The driver > > - iris_vpu_power_off_controller, > - iris_vpu33_power_off_controller, > > The generic wrapper for handling power off - iris_vpu_power_off() - > calls them via 'iris_platform_data->vpu_ops', so shall the cleanup code > in iris_vpu_power_on(). > > This makes also sense if looking at caller of iris_vpu_power_on(), which > unwinds also with the wrapper calling respective platfortm code (unwinds > with iris_vpu_power_off()). platfortm/s//platform > Otherwise power off sequence on the newer VPU3.3 in error path is not > complete. > > Fixes: c69df5de4ac3 ("media: platform: qcom/iris: add power_off_controller to vpu_ops") > Cc: <stable@vger.kernel.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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 268e45acaa7c..42a7c53ce48e 100644 > --- a/drivers/media/platform/qcom/iris/iris_vpu_common.c > +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c > @@ -359,7 +359,7 @@ int iris_vpu_power_on(struct iris_core *core) > return 0; > > err_power_off_ctrl: > - iris_vpu_power_off_controller(core); > + core->iris_platform_data->vpu_ops->power_off_controller(core); Correct. > err_unvote_icc: > iris_unset_icc_bw(core); > err: Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
© 2016 - 2025 Red Hat, Inc.