aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 43b48eb6cf6e..3d4c2abfcfe8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -925,18 +925,20 @@ struct amdgpu_vm {
925 spinlock_t freed_lock; 925 spinlock_t freed_lock;
926}; 926};
927 927
928struct amdgpu_vm_manager_id {
929 struct list_head list;
930 struct fence *active;
931 atomic_long_t owner;
932};
933
928struct amdgpu_vm_manager { 934struct amdgpu_vm_manager {
929 /* protecting IDs */ 935 /* Handling of VMIDs */
930 struct mutex lock; 936 struct mutex lock;
931 937 unsigned num_ids;
932 struct { 938 struct list_head ids_lru;
933 struct fence *active; 939 struct amdgpu_vm_manager_id ids[AMDGPU_NUM_VM];
934 atomic_long_t owner;
935 } ids[AMDGPU_NUM_VM];
936 940
937 uint32_t max_pfn; 941 uint32_t max_pfn;
938 /* number of VMIDs */
939 unsigned nvm;
940 /* vram base address for page table entry */ 942 /* vram base address for page table entry */
941 u64 vram_base_offset; 943 u64 vram_base_offset;
942 /* is vm enabled? */ 944 /* is vm enabled? */
@@ -946,6 +948,7 @@ struct amdgpu_vm_manager {
946 struct amdgpu_ring *vm_pte_funcs_ring; 948 struct amdgpu_ring *vm_pte_funcs_ring;
947}; 949};
948 950
951void amdgpu_vm_manager_init(struct amdgpu_device *adev);
949void amdgpu_vm_manager_fini(struct amdgpu_device *adev); 952void amdgpu_vm_manager_fini(struct amdgpu_device *adev);
950int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm); 953int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm);
951void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm); 954void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm);