diff options
Diffstat (limited to 'drivers/gpu/drm/amd/scheduler')
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index 5a1ece2774b5..764606ce3541 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | |||
@@ -121,7 +121,7 @@ amd_sched_rq_select_entity(struct amd_sched_rq *rq) | |||
121 | int amd_sched_entity_init(struct amd_gpu_scheduler *sched, | 121 | int amd_sched_entity_init(struct amd_gpu_scheduler *sched, |
122 | struct amd_sched_entity *entity, | 122 | struct amd_sched_entity *entity, |
123 | struct amd_sched_rq *rq, | 123 | struct amd_sched_rq *rq, |
124 | uint32_t jobs) | 124 | uint32_t jobs, atomic_t *guilty) |
125 | { | 125 | { |
126 | int r; | 126 | int r; |
127 | 127 | ||
@@ -132,6 +132,7 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched, | |||
132 | INIT_LIST_HEAD(&entity->list); | 132 | INIT_LIST_HEAD(&entity->list); |
133 | entity->rq = rq; | 133 | entity->rq = rq; |
134 | entity->sched = sched; | 134 | entity->sched = sched; |
135 | entity->guilty = guilty; | ||
135 | 136 | ||
136 | spin_lock_init(&entity->rq_lock); | 137 | spin_lock_init(&entity->rq_lock); |
137 | spin_lock_init(&entity->queue_lock); | 138 | spin_lock_init(&entity->queue_lock); |
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h index 3ea75a2f35d4..a05994c60b34 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | |||
@@ -63,6 +63,7 @@ struct amd_sched_entity { | |||
63 | 63 | ||
64 | struct dma_fence *dependency; | 64 | struct dma_fence *dependency; |
65 | struct dma_fence_cb cb; | 65 | struct dma_fence_cb cb; |
66 | atomic_t *guilty; /* points to ctx's guilty */ | ||
66 | }; | 67 | }; |
67 | 68 | ||
68 | /** | 69 | /** |
@@ -155,7 +156,7 @@ void amd_sched_fini(struct amd_gpu_scheduler *sched); | |||
155 | int amd_sched_entity_init(struct amd_gpu_scheduler *sched, | 156 | int amd_sched_entity_init(struct amd_gpu_scheduler *sched, |
156 | struct amd_sched_entity *entity, | 157 | struct amd_sched_entity *entity, |
157 | struct amd_sched_rq *rq, | 158 | struct amd_sched_rq *rq, |
158 | uint32_t jobs); | 159 | uint32_t jobs, atomic_t* guilty); |
159 | void amd_sched_entity_fini(struct amd_gpu_scheduler *sched, | 160 | void amd_sched_entity_fini(struct amd_gpu_scheduler *sched, |
160 | struct amd_sched_entity *entity); | 161 | struct amd_sched_entity *entity); |
161 | void amd_sched_entity_push_job(struct amd_sched_job *sched_job); | 162 | void amd_sched_entity_push_job(struct amd_sched_job *sched_job); |