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); >
