[PATCH 1/4] drm/scheduler: make sure timer is restarted

Grodzovsky, Andrey Andrey.Grodzovsky at amd.com
Tue Oct 16 15:30:37 UTC 2018


Patches 1-3 Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>

Patch 4 Acked-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>

Andrey


On 10/16/2018 07:55 AM, Christian König wrote:
> Make sure we always restart the timer after a timeout and remove the
> device specific workarounds.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/etnaviv/etnaviv_sched.c | 2 --
>   drivers/gpu/drm/scheduler/sched_main.c  | 1 +
>   drivers/gpu/drm/v3d/v3d_sched.c         | 3 ---
>   3 files changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_sched.c b/drivers/gpu/drm/etnaviv/etnaviv_sched.c
> index e7c3ed6c9a2e..f8c5f1e6c5e2 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_sched.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_sched.c
> @@ -105,8 +105,6 @@ static void etnaviv_sched_timedout_job(struct drm_sched_job *sched_job)
>   	change = dma_addr - gpu->hangcheck_dma_addr;
>   	if (change < 0 || change > 16) {
>   		gpu->hangcheck_dma_addr = dma_addr;
> -		schedule_delayed_work(&sched_job->sched->work_tdr,
> -				      sched_job->sched->timeout);
>   		return;
>   	}
>   
> diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> index 44fe587aaef9..73449c653b6e 100644
> --- a/drivers/gpu/drm/scheduler/sched_main.c
> +++ b/drivers/gpu/drm/scheduler/sched_main.c
> @@ -283,6 +283,7 @@ static void drm_sched_job_timedout(struct work_struct *work)
>   already_signaled:
>   		;
>   	}
> +	drm_sched_start_timeout(sched);
>   	spin_unlock(&sched->job_list_lock);
>   }
>   
> diff --git a/drivers/gpu/drm/v3d/v3d_sched.c b/drivers/gpu/drm/v3d/v3d_sched.c
> index 9243dea6e6ad..80b641ffc3be 100644
> --- a/drivers/gpu/drm/v3d/v3d_sched.c
> +++ b/drivers/gpu/drm/v3d/v3d_sched.c
> @@ -167,9 +167,6 @@ v3d_job_timedout(struct drm_sched_job *sched_job)
>   	if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
>   		job->timedout_ctca = ctca;
>   		job->timedout_ctra = ctra;
> -
> -		schedule_delayed_work(&job->base.sched->work_tdr,
> -				      job->base.sched->timeout);
>   		return;
>   	}
>   



More information about the amd-gfx mailing list