drm/amdgpu: grab VMID before submitting job v5
This allows the scheduler to handle the dependencies on ID contention as well. v2: grab id only once v3: use a separate lock for the VMIDs v4: cleanup after semaphore removal v5: minor coding style change Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:

committed by
Alex Deucher

parent
165e4e07c2
commit
8d0a7cea82
@@ -777,6 +777,7 @@ struct amdgpu_ib {
|
||||
struct amdgpu_ring *ring;
|
||||
struct amdgpu_fence *fence;
|
||||
struct amdgpu_user_fence *user;
|
||||
bool grabbed_vmid;
|
||||
struct amdgpu_vm *vm;
|
||||
struct amdgpu_ctx *ctx;
|
||||
struct amdgpu_sync sync;
|
||||
@@ -925,6 +926,9 @@ struct amdgpu_vm {
|
||||
};
|
||||
|
||||
struct amdgpu_vm_manager {
|
||||
/* protecting IDs */
|
||||
struct mutex lock;
|
||||
|
||||
struct {
|
||||
struct fence *active;
|
||||
atomic_long_t owner;
|
||||
|
Reference in New Issue
Block a user