aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-03-01 09:09:25 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-03-08 11:01:49 -0500
commit971fe9a9414b2ccabc11ff6a5ff6be0d6f2dabda (patch)
tree8d9bbb4983b34c39ead2deb849ce8a48cd9102cf /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parentcffadc83c7016ba68721affe5da537ead279e2d2 (diff)
drm/amdgpu: switch the GDS only on demand v2
Switching the GDS space to often seems to be problematic. This patch together with the following can avoid VM faults on context switch. v2: extend commit message a bit Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1)
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index b6fae4b301d7..866b5fa298e7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -922,6 +922,13 @@ struct amdgpu_vm_manager_id {
922 struct list_head list; 922 struct list_head list;
923 struct fence *active; 923 struct fence *active;
924 atomic_long_t owner; 924 atomic_long_t owner;
925
926 uint32_t gds_base;
927 uint32_t gds_size;
928 uint32_t gws_base;
929 uint32_t gws_size;
930 uint32_t oa_base;
931 uint32_t oa_size;
925}; 932};
926 933
927struct amdgpu_vm_manager { 934struct amdgpu_vm_manager {
@@ -961,6 +968,7 @@ void amdgpu_vm_flush(struct amdgpu_ring *ring,
961 uint32_t gds_base, uint32_t gds_size, 968 uint32_t gds_base, uint32_t gds_size,
962 uint32_t gws_base, uint32_t gws_size, 969 uint32_t gws_base, uint32_t gws_size,
963 uint32_t oa_base, uint32_t oa_size); 970 uint32_t oa_base, uint32_t oa_size);
971void amdgpu_vm_reset_id(struct amdgpu_device *adev, unsigned vm_id);
964uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr); 972uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr);
965int amdgpu_vm_update_page_directory(struct amdgpu_device *adev, 973int amdgpu_vm_update_page_directory(struct amdgpu_device *adev,
966 struct amdgpu_vm *vm); 974 struct amdgpu_vm *vm);