[Freedreno] [PATCH v1 07/10] drm/msm/adreno: Retry on gpu resume failure
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Thu Mar 3 09:21:46 UTC 2022
Il 02/03/22 18:27, Akhil P Oommen ha scritto:
> Retry infinitely on resume failure because there is nothing much we can
> do if GPU is not ON. Also, this helps us to avoid checking for the
> return value of pm_runtime_get() to see if GPU is ON.
>
> Signed-off-by: Akhil P Oommen <quic_akhilpo at quicinc.com>
> ---
>
> drivers/gpu/drm/msm/adreno/adreno_device.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm/adreno/adreno_device.c
> index 89cfd84..abcc553 100644
> --- a/drivers/gpu/drm/msm/adreno/adreno_device.c
> +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c
> @@ -603,8 +603,16 @@ static const struct of_device_id dt_match[] = {
> static int adreno_resume(struct device *dev)
> {
> struct msm_gpu *gpu = dev_to_gpu(dev);
> + int ret;
> +
> + /* What hope do we have for the future if we can't turn ON gpu */
Hello Akhil,
the hope for the future would be to at least not lock up everything with
an infinite loop, so, please change this to have a limited amount of retries.
My guess would be that a maximum of 10 is already a lot of retries, but
feel free to choose an appropriate number.
Regards,
Angelo
> + while (true) {
> + ret = gpu->funcs->pm_resume(gpu);
> + if (!ret)
> + break;
> + }
>
> - return gpu->funcs->pm_resume(gpu);
> + return 0;
> }
>
> static int active_submits(struct msm_gpu *gpu)
More information about the Freedreno
mailing list