diff options
author | Christian König <christian.koenig@amd.com> | 2016-02-15 06:33:02 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-05-04 20:19:16 -0400 |
commit | 832a902f9433b812f829e9f2257daf5d518cf0de (patch) | |
tree | dd5f85355fc863be19554e4aed7e56694be1f392 /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | bcb1ba35a87be34d1312f6e050f1b5cc4d32f096 (diff) |
drm/amdgpu: use a sync object for VMID fences v2
v2: rebase & cleanup
This way we can store more than one fence as user for each VMID.
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index c1b10046317e..148e2c61463c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -588,6 +588,9 @@ int amdgpu_sync_resv(struct amdgpu_device *adev, | |||
588 | struct amdgpu_sync *sync, | 588 | struct amdgpu_sync *sync, |
589 | struct reservation_object *resv, | 589 | struct reservation_object *resv, |
590 | void *owner); | 590 | void *owner); |
591 | bool amdgpu_sync_is_idle(struct amdgpu_sync *sync); | ||
592 | int amdgpu_sync_cycle_fences(struct amdgpu_sync *dst, struct amdgpu_sync *src, | ||
593 | struct fence *fence); | ||
591 | struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync); | 594 | struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync); |
592 | int amdgpu_sync_wait(struct amdgpu_sync *sync); | 595 | int amdgpu_sync_wait(struct amdgpu_sync *sync); |
593 | void amdgpu_sync_free(struct amdgpu_sync *sync); | 596 | void amdgpu_sync_free(struct amdgpu_sync *sync); |
@@ -875,7 +878,8 @@ struct amdgpu_vm { | |||
875 | 878 | ||
876 | struct amdgpu_vm_id { | 879 | struct amdgpu_vm_id { |
877 | struct list_head list; | 880 | struct list_head list; |
878 | struct fence *active; | 881 | struct fence *first; |
882 | struct amdgpu_sync active; | ||
879 | atomic_long_t owner; | 883 | atomic_long_t owner; |
880 | 884 | ||
881 | uint64_t pd_gpu_addr; | 885 | uint64_t pd_gpu_addr; |