On Fri, 28 Aug 2026 21:56:50 +0100
Adrián Larumbe <[email protected]> wrote:

> Rather than just failing silently, let's warn the user of device remove not
> being able to take an PM reference or the PM suspend path still reporting
> inflight jobs. Neither situation should ever happen.
> 
> Signed-off-by: Adrián Larumbe <[email protected]>

Reviewed-by: Boris Brezillon <[email protected]>

> ---
>  drivers/gpu/drm/panfrost/panfrost_device.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c 
> b/drivers/gpu/drm/panfrost/panfrost_device.c
> index 70c8109ea698..d8acae9b8cfa 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_device.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_device.c
> @@ -9,6 +9,7 @@
>  #include <linux/pm_runtime.h>
>  #include <linux/regulator/consumer.h>
>  #include <drm/drm_drv.h>
> +#include <drm/drm_print.h>
>  
>  #include "panfrost_device.h"
>  #include "panfrost_devfreq.h"
> @@ -367,7 +368,7 @@ int panfrost_device_init(struct panfrost_device *pfdev)
>  
>  void panfrost_device_fini(struct panfrost_device *pfdev)
>  {
> -     pm_runtime_get_sync(pfdev->base.dev);
> +     drm_WARN_ON(&pfdev->base, pm_runtime_get_sync(pfdev->base.dev) < 0);
>       pm_runtime_dont_use_autosuspend(pfdev->base.dev);
>       pm_runtime_disable(pfdev->base.dev);
>       pm_runtime_put_noidle(pfdev->base.dev);
> @@ -517,7 +518,7 @@ static int panfrost_device_runtime_suspend(struct device 
> *dev)
>  {
>       struct panfrost_device *pfdev = dev_get_drvdata(dev);
>  
> -     if (!panfrost_jm_is_idle(pfdev))
> +     if (drm_WARN_ON(&pfdev->base, !panfrost_jm_is_idle(pfdev)))
>               return -EBUSY;
>  
>       panfrost_device_disable_hw(pfdev);
> 

Reply via email to