diff options
author | Christian König <christian.koenig@amd.com> | 2015-10-27 17:00:17 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-10-28 17:04:18 -0400 |
commit | fe537d003f9a97c65848e47b3b9acbb0c5002fd9 (patch) | |
tree | 62a6d431080e3c8e2912000f7f6e0a663c742ed1 | |
parent | 6bd53c4125e545a495fba63024d5522e33c600f5 (diff) | |
download | linux-fe537d003f9a97c65848e47b3b9acbb0c5002fd9.tar.gz linux-fe537d003f9a97c65848e47b3b9acbb0c5002fd9.tar.bz2 linux-fe537d003f9a97c65848e47b3b9acbb0c5002fd9.zip |
drm/amdgpu: ignore scheduler fences from the same entity
We are going to submit them before the job anyway.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index 7fa1d7a438e9..8dd7316b1d4f 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c @@ -222,6 +222,12 @@ amd_sched_entity_pop_job(struct amd_sched_entity *entity) while ((entity->dependency = sched->ops->dependency(sched_job))) { + if (entity->dependency->context == entity->fence_context) { + /* We can ignore fences from ourself */ + fence_put(entity->dependency); + continue; + } + if (fence_add_callback(entity->dependency, &entity->cb, amd_sched_entity_wakeup)) fence_put(entity->dependency); |