diff mbox series

[v2] panfrost: Properly undo pm_runtime_enable when deferring a probe

Message ID 20191023122157.32067-1-tomeu.vizoso@collabora.com (mailing list archive)
State New, archived
Headers show
Series [v2] panfrost: Properly undo pm_runtime_enable when deferring a probe | expand

Commit Message

Tomeu Vizoso Oct. 23, 2019, 12:21 p.m. UTC
When deferring the probe because of a missing regulator, we were calling
pm_runtime_disable even if pm_runtime_enable wasn't called.

Move the call to pm_runtime_disable to the right place.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reported-by: Chen-Yu Tsai <wens@csie.org>
Cc: Robin Murphy <robin.murphy@arm.com>
Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")
---
 drivers/gpu/drm/panfrost/panfrost_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Robin Murphy Oct. 23, 2019, 12:49 p.m. UTC | #1
On 2019-10-23 1:21 pm, Tomeu Vizoso wrote:
> When deferring the probe because of a missing regulator, we were calling
> pm_runtime_disable even if pm_runtime_enable wasn't called.
> 
> Move the call to pm_runtime_disable to the right place.
> 
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Reported-by: Chen-Yu Tsai <wens@csie.org>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")

I think that commit was right at the time, but actually we missed 
reordering the cleanup path to match the change in 635430797d3f. 
Otherwise, though,

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> ---
>   drivers/gpu/drm/panfrost/panfrost_drv.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
> index bc2ddeb55f5d..f21bc8a7ee3a 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_drv.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
> @@ -556,11 +556,11 @@ static int panfrost_probe(struct platform_device *pdev)
>   	return 0;
>   
>   err_out2:
> +	pm_runtime_disable(pfdev->dev);
>   	panfrost_devfreq_fini(pfdev);
>   err_out1:
>   	panfrost_device_fini(pfdev);
>   err_out0:
> -	pm_runtime_disable(pfdev->dev);
>   	drm_dev_put(ddev);
>   	return err;
>   }
>
Steven Price Oct. 23, 2019, 3:49 p.m. UTC | #2
On 23/10/2019 13:21, Tomeu Vizoso wrote:
> When deferring the probe because of a missing regulator, we were calling
> pm_runtime_disable even if pm_runtime_enable wasn't called.
> 
> Move the call to pm_runtime_disable to the right place.
> 
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Reported-by: Chen-Yu Tsai <wens@csie.org>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")

As Robin pointed out this should be:

Fixes: 635430797d3f ("drm/panfrost: Rework runtime PM initialization")

But other than that,

Reviewed-by: Steven Price <steven.price@arm.com>

> ---
>  drivers/gpu/drm/panfrost/panfrost_drv.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
> index bc2ddeb55f5d..f21bc8a7ee3a 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_drv.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
> @@ -556,11 +556,11 @@ static int panfrost_probe(struct platform_device *pdev)
>  	return 0;
>  
>  err_out2:
> +	pm_runtime_disable(pfdev->dev);
>  	panfrost_devfreq_fini(pfdev);
>  err_out1:
>  	panfrost_device_fini(pfdev);
>  err_out0:
> -	pm_runtime_disable(pfdev->dev);
>  	drm_dev_put(ddev);
>  	return err;
>  }
>
Rob Herring (Arm) Oct. 23, 2019, 5:58 p.m. UTC | #3
On Wed, Oct 23, 2019 at 10:49 AM Steven Price <steven.price@arm.com> wrote:
>
> On 23/10/2019 13:21, Tomeu Vizoso wrote:
> > When deferring the probe because of a missing regulator, we were calling
> > pm_runtime_disable even if pm_runtime_enable wasn't called.
> >
> > Move the call to pm_runtime_disable to the right place.
> >
> > Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> > Reported-by: Chen-Yu Tsai <wens@csie.org>
> > Cc: Robin Murphy <robin.murphy@arm.com>
> > Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")
>
> As Robin pointed out this should be:
>
> Fixes: 635430797d3f ("drm/panfrost: Rework runtime PM initialization")
>
> But other than that,
>
> Reviewed-by: Steven Price <steven.price@arm.com>

Applied with Fixes fixed. Looks like we just missed this weeks fixes...

Rob
Chen-Yu Tsai Oct. 24, 2019, 3:51 a.m. UTC | #4
On Wed, Oct 23, 2019 at 8:22 PM Tomeu Vizoso <tomeu.vizoso@collabora.com> wrote:
>
> When deferring the probe because of a missing regulator, we were calling
> pm_runtime_disable even if pm_runtime_enable wasn't called.
>
> Move the call to pm_runtime_disable to the right place.
>
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Reported-by: Chen-Yu Tsai <wens@csie.org>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Fixes: f4a3c6a44b35 ("drm/panfrost: Disable PM on probe failure")

Tested-by: Chen-Yu Tsai <wens@csie.org>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
index bc2ddeb55f5d..f21bc8a7ee3a 100644
--- a/drivers/gpu/drm/panfrost/panfrost_drv.c
+++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
@@ -556,11 +556,11 @@  static int panfrost_probe(struct platform_device *pdev)
 	return 0;
 
 err_out2:
+	pm_runtime_disable(pfdev->dev);
 	panfrost_devfreq_fini(pfdev);
 err_out1:
 	panfrost_device_fini(pfdev);
 err_out0:
-	pm_runtime_disable(pfdev->dev);
 	drm_dev_put(ddev);
 	return err;
 }