[PATCH 4/8] drm/etnaviv: make clock handling symetric between runtime resume and suspend

Christian Gmeiner christian.gmeiner at gmail.com
Wed Jun 14 18:42:51 UTC 2023


Hi Lucas
>
> Currently the clock is enabled in the runtime resume function, but are
> disabled a level further down in the callstack in the suspend function.
> Move the clock disable into the suspend function to make handling
> symmetrical between resume and suspend.
>
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

Reviewed-by: Christian Gmeiner <cgmeiner at igalia.com>

> ---
>  drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index 54a1249c5bca..57cf77ed2fcf 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1632,7 +1632,7 @@ int etnaviv_gpu_wait_idle(struct etnaviv_gpu *gpu, unsigned int timeout_ms)
>         } while (1);
>  }
>
> -static int etnaviv_gpu_hw_suspend(struct etnaviv_gpu *gpu)
> +static void etnaviv_gpu_hw_suspend(struct etnaviv_gpu *gpu)
>  {
>         if (gpu->initialized && gpu->fe_running) {
>                 /* Replace the last WAIT with END */
> @@ -1651,8 +1651,6 @@ static int etnaviv_gpu_hw_suspend(struct etnaviv_gpu *gpu)
>         }
>
>         gpu->exec_state = -1;
> -
> -       return etnaviv_gpu_clk_disable(gpu);
>  }
>
>  static int etnaviv_gpu_hw_resume(struct etnaviv_gpu *gpu)
> @@ -1789,6 +1787,7 @@ static void etnaviv_gpu_unbind(struct device *dev, struct device *master,
>                 pm_runtime_put_sync_suspend(gpu->dev);
>         } else {
>                 etnaviv_gpu_hw_suspend(gpu);
> +               etnaviv_gpu_clk_disable(gpu);
>         }
>
>         if (gpu->mmu_context)
> @@ -1922,7 +1921,9 @@ static int etnaviv_gpu_rpm_suspend(struct device *dev)
>                 return -EBUSY;
>         }
>
> -       return etnaviv_gpu_hw_suspend(gpu);
> +       etnaviv_gpu_hw_suspend(gpu);
> +
> +       return etnaviv_gpu_clk_disable(gpu);
>  }
>
>  static int etnaviv_gpu_rpm_resume(struct device *dev)
> --
> 2.39.2
>


--
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info/privacypolicy


More information about the etnaviv mailing list