diff options
author | Christian König <christian.koenig@amd.com> | 2018-09-01 07:25:31 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-09-10 23:40:16 -0400 |
commit | c12a2ee5d002e39a387001cdb5065b560568b4f5 (patch) | |
tree | 09c6ad6e42350dbe3d4bf5faeb66b828e0e03f7b /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | |
parent | c460f8a6f5918c2a8a2354a60b03a71310b943aa (diff) |
drm/amdgpu: separate per VM BOs from normal in the moved state
Allows us to avoid taking the spinlock in more places.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h index 62116fa44718..6ea162ca296a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | |||
@@ -201,13 +201,16 @@ struct amdgpu_vm { | |||
201 | /* PT BOs which relocated and their parent need an update */ | 201 | /* PT BOs which relocated and their parent need an update */ |
202 | struct list_head relocated; | 202 | struct list_head relocated; |
203 | 203 | ||
204 | /* BOs moved, but not yet updated in the PT */ | 204 | /* per VM BOs moved, but not yet updated in the PT */ |
205 | struct list_head moved; | 205 | struct list_head moved; |
206 | spinlock_t moved_lock; | ||
207 | 206 | ||
208 | /* All BOs of this VM not currently in the state machine */ | 207 | /* All BOs of this VM not currently in the state machine */ |
209 | struct list_head idle; | 208 | struct list_head idle; |
210 | 209 | ||
210 | /* regular invalidated BOs, but not yet updated in the PT */ | ||
211 | struct list_head invalidated; | ||
212 | spinlock_t invalidated_lock; | ||
213 | |||
211 | /* BO mappings freed, but not yet updated in the PT */ | 214 | /* BO mappings freed, but not yet updated in the PT */ |
212 | struct list_head freed; | 215 | struct list_head freed; |
213 | 216 | ||