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>
Esse commit está contido em:
@@ -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;
|
||||
|
Referência em uma nova issue
Block a user