summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/scheduler/sched_entity.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2023-04-17 13:36:02 +0200
committerChristian König <christian.koenig@amd.com>2023-04-24 11:00:05 +0200
commit539f9ee4b52a8bec95ff064e22dd2fb1e258e818 (patch)
tree3eecbccf9019b4e489146b3e0a19ddaf6cc7f300 /drivers/gpu/drm/scheduler/sched_entity.c
parent15f5ee6b77c0953b3d668eb3f3bb3c0be0a280f6 (diff)
downloadlinux-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.c4
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))