aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-10-12 08:46:26 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-03-29 23:55:24 -0400
commit67003a15b736988bcb0c5f871be353d702a862ba (patch)
tree4e5bd94dd90fafc737feca291ef9f316f41bd65c /drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
parent8437a097fe604c81a0fda71017837d0f7e7df8b0 (diff)
drm/amdgpu: generalize page table level
No functional change, but the base for multi level page tables. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@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.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
index e56df942af8e..6c8380d89148 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h
@@ -79,6 +79,10 @@ struct amdgpu_bo_list_entry;
79struct amdgpu_vm_pt { 79struct amdgpu_vm_pt {
80 struct amdgpu_bo *bo; 80 struct amdgpu_bo *bo;
81 uint64_t addr; 81 uint64_t addr;
82
83 /* array of page tables, one for each directory entry */
84 struct amdgpu_vm_pt *entries;
85 unsigned last_entry_used;
82}; 86};
83 87
84struct amdgpu_vm { 88struct amdgpu_vm {
@@ -98,14 +102,10 @@ struct amdgpu_vm {
98 struct list_head freed; 102 struct list_head freed;
99 103
100 /* contains the page directory */ 104 /* contains the page directory */
101 struct amdgpu_bo *page_directory; 105 struct amdgpu_vm_pt root;
102 unsigned max_pde_used;
103 struct dma_fence *last_dir_update; 106 struct dma_fence *last_dir_update;
104 uint64_t last_eviction_counter; 107 uint64_t last_eviction_counter;
105 108
106 /* array of page tables, one for each page directory entry */
107 struct amdgpu_vm_pt *page_tables;
108
109 /* for id and flush management per ring */ 109 /* for id and flush management per ring */
110 struct amdgpu_vm_id *ids[AMDGPU_MAX_RINGS]; 110 struct amdgpu_vm_id *ids[AMDGPU_MAX_RINGS];
111 111