summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-02-15 12:33:02 +0100
committerAlex Deucher <alexander.deucher@amd.com>2016-05-04 20:19:16 -0400
commit832a902f9433b812f829e9f2257daf5d518cf0de (patch)
treedd5f85355fc863be19554e4aed7e56694be1f392 /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parentbcb1ba35a87be34d1312f6e050f1b5cc4d32f096 (diff)
downloadop-kernel-dev-832a902f9433b812f829e9f2257daf5d518cf0de.zip
op-kernel-dev-832a902f9433b812f829e9f2257daf5d518cf0de.tar.gz
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.h6
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 c1b1004..148e2c6 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,
struct amdgpu_sync *sync,
struct reservation_object *resv,
void *owner);
+bool amdgpu_sync_is_idle(struct amdgpu_sync *sync);
+int amdgpu_sync_cycle_fences(struct amdgpu_sync *dst, struct amdgpu_sync *src,
+ struct fence *fence);
struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync);
int amdgpu_sync_wait(struct amdgpu_sync *sync);
void amdgpu_sync_free(struct amdgpu_sync *sync);
@@ -875,7 +878,8 @@ struct amdgpu_vm {
struct amdgpu_vm_id {
struct list_head list;
- struct fence *active;
+ struct fence *first;
+ struct amdgpu_sync active;
atomic_long_t owner;
uint64_t pd_gpu_addr;
OpenPOWER on IntegriCloud