diff options
author | Christian König <christian.koenig@amd.com> | 2023-04-17 13:36:02 +0200 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2023-04-24 11:00:05 +0200 |
commit | 539f9ee4b52a8bec95ff064e22dd2fb1e258e818 (patch) | |
tree | 3eecbccf9019b4e489146b3e0a19ddaf6cc7f300 /drivers/gpu/drm/scheduler/sched_entity.c | |
parent | 15f5ee6b77c0953b3d668eb3f3bb3c0be0a280f6 (diff) | |
download | linux-539f9ee4b52a8bec95ff064e22dd2fb1e258e818.tar.gz linux-539f9ee4b52a8bec95ff064e22dd2fb1e258e818.tar.bz2 linux-539f9ee4b52a8bec95ff064e22dd2fb1e258e818.zip |
drm/scheduler: properly forward fence errors
When a hw fence is signaled with an error properly forward that to the
finished fence.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230420115752.31470-1-christian.koenig@amd.com
Diffstat (limited to 'drivers/gpu/drm/scheduler/sched_entity.c')
-rw-r--r-- | drivers/gpu/drm/scheduler/sched_entity.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c index 3e2a31d8190e..1795cd7e42ed 100644 --- a/drivers/gpu/drm/scheduler/sched_entity.c +++ b/drivers/gpu/drm/scheduler/sched_entity.c @@ -144,7 +144,7 @@ static void drm_sched_entity_kill_jobs_work(struct work_struct *wrk) { struct drm_sched_job *job = container_of(wrk, typeof(*job), work); - drm_sched_fence_finished(job->s_fence); + drm_sched_fence_finished(job->s_fence, -ESRCH); WARN_ON(job->s_fence->parent); job->sched->ops->free_job(job); } @@ -195,8 +195,6 @@ static void drm_sched_entity_kill(struct drm_sched_entity *entity) while ((job = to_drm_sched_job(spsc_queue_pop(&entity->job_queue)))) { struct drm_sched_fence *s_fence = job->s_fence; - dma_fence_set_error(&s_fence->finished, -ESRCH); - dma_fence_get(&s_fence->finished); if (!prev || dma_fence_add_callback(prev, &job->finish_cb, drm_sched_entity_kill_jobs_cb)) |