Re: [PATCH v2 0/4] drm/msm/adreno: fix runtime PM imbalance at unbind

From: Johan Hovold
Date: Tue Mar 21 2023 - 08:55:27 EST


On Fri, Mar 03, 2023 at 05:48:03PM +0100, Johan Hovold wrote:
> As reported by Bjorn, we can end up with an unbalanced runtime PM
> disable count if unbind() is called before the DRM device is opened
> (e.g. if component bind fails due to the panel driver not having been
> loaded yet).
>
> As runtime PM must currently stay disabled until the firmware has been
> loaded, fix this by making the runtime PM disable call at unbind()
> conditional.
>
> The rest of the series fixes further imbalances in the load_gpu() error
> paths and removes a bogus pm_runtime_set_active() call. Included is also
> a related indentation cleanup.

I noticed that Rob picked up the first patch below from v1 of this
series. Any comments to the remaining three?

Johan

> Changes in v2
> - fix the runtime PM imbalance in the gpu load error paths (new)
>
> - drop the patch removing the pm_runtime_disable() from
> adreno_gpu_cleanup() as this function can currently still be called
> with runtime PM enabled if suspending the scheduler in
> adreno_system_suspend() at unbind fails
>
>
> Johan Hovold (4):
> drm/msm/adreno: fix runtime PM imbalance at unbind
> drm/msm/adreno: fix runtime PM imbalance at gpu load
> drm/msm/adreno: drop bogus pm_runtime_set_active()
> drm/msm/adreno: clean up component ops indentation
>
> drivers/gpu/drm/msm/adreno/adreno_device.c | 26 +++++++++++++---------
> 1 file changed, 16 insertions(+), 10 deletions(-)