diff options
| author | Christian König <christian.koenig@amd.com> | 2015-11-05 12:57:10 +0100 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2015-11-23 12:19:58 -0500 |
| commit | 393a0bd4376a8ecdde079344681a014ec3eb1291 (patch) | |
| tree | e32f0731bf98cd875eba23d6db0e0121b9c6e2d0 /drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | |
| parent | e98c1b0de6fe73f488df62d83d83f377b1b6e2b8 (diff) | |
| download | blackbird-op-linux-393a0bd4376a8ecdde079344681a014ec3eb1291.tar.gz blackbird-op-linux-393a0bd4376a8ecdde079344681a014ec3eb1291.zip | |
drm/amdgpu: optimize scheduler fence handling
We only need to wait for jobs to be scheduled when
the dependency is from the same scheduler.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/scheduler/gpu_scheduler.h')
| -rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h index 939692b14f4b..a0f0ae53aacd 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h @@ -27,6 +27,8 @@ #include <linux/kfifo.h> #include <linux/fence.h> +#define AMD_SCHED_FENCE_SCHEDULED_BIT FENCE_FLAG_USER_BITS + struct amd_gpu_scheduler; struct amd_sched_rq; @@ -68,6 +70,7 @@ struct amd_sched_rq { struct amd_sched_fence { struct fence base; struct fence_cb cb; + struct list_head scheduled_cb; struct amd_gpu_scheduler *sched; spinlock_t lock; void *owner; @@ -134,7 +137,7 @@ void amd_sched_entity_push_job(struct amd_sched_job *sched_job); struct amd_sched_fence *amd_sched_fence_create( struct amd_sched_entity *s_entity, void *owner); +void amd_sched_fence_scheduled(struct amd_sched_fence *fence); void amd_sched_fence_signal(struct amd_sched_fence *fence); - #endif |

