diff options
author | Christian König <christian.koenig@amd.com> | 2016-06-21 10:28:15 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-07-07 14:54:49 -0400 |
commit | 5a712a8727200fc617072bed2ccd8ba8e1b50408 (patch) | |
tree | 53d58dfb5e2bcf2b2d1232ecb192f0f8d70851d6 /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | dbd5ed60ac856632609491229e6d7ad70115fb09 (diff) |
drm/amdgpu: validate VM PTs only on eviction
We don't need to validate them again if the eviction counter didn't changed.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
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.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index f4d269931dbe..80d9932d86fb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -864,6 +864,7 @@ struct amdgpu_vm { | |||
864 | struct amdgpu_bo *page_directory; | 864 | struct amdgpu_bo *page_directory; |
865 | unsigned max_pde_used; | 865 | unsigned max_pde_used; |
866 | struct fence *page_directory_fence; | 866 | struct fence *page_directory_fence; |
867 | uint64_t last_eviction_counter; | ||
867 | 868 | ||
868 | /* array of page tables, one for each page directory entry */ | 869 | /* array of page tables, one for each page directory entry */ |
869 | struct amdgpu_vm_pt *page_tables; | 870 | struct amdgpu_vm_pt *page_tables; |
@@ -932,7 +933,8 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm); | |||
932 | void amdgpu_vm_get_pd_bo(struct amdgpu_vm *vm, | 933 | void amdgpu_vm_get_pd_bo(struct amdgpu_vm *vm, |
933 | struct list_head *validated, | 934 | struct list_head *validated, |
934 | struct amdgpu_bo_list_entry *entry); | 935 | struct amdgpu_bo_list_entry *entry); |
935 | void amdgpu_vm_get_pt_bos(struct amdgpu_vm *vm, struct list_head *duplicates); | 936 | void amdgpu_vm_get_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm, |
937 | struct list_head *duplicates); | ||
936 | void amdgpu_vm_move_pt_bos_in_lru(struct amdgpu_device *adev, | 938 | void amdgpu_vm_move_pt_bos_in_lru(struct amdgpu_device *adev, |
937 | struct amdgpu_vm *vm); | 939 | struct amdgpu_vm *vm); |
938 | int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, | 940 | int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, |