aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2018-09-01 07:25:31 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-09-10 23:40:16 -0400
commitc12a2ee5d002e39a387001cdb5065b560568b4f5 (patch)
tree09c6ad6e42350dbe3d4bf5faeb66b828e0e03f7b /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
parentc460f8a6f5918c2a8a2354a60b03a71310b943aa (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.h7
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