aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorChunming Zhou <David1.Zhou@amd.com>2016-04-27 06:07:41 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-06-09 10:49:01 -0400
commit2ba272d7bde27e1db2cf1c6cee49b01b7ea08989 (patch)
treec37802046a2008ad66a97535cf67326affa91014 /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parentfdff8cfa72b3e42d4d0c70684fa18b1dfee46d97 (diff)
drm/amdgpu: add pipeline sync while vmid switch in same ctx
Since vmid-mgr supports vmid sharing in one vm, the same ctx could get different vmids for two emits without vm flush, vm_flush could be done in another ring. Signed-off-by: Chunming Zhou <David1.Zhou@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.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h4
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 992f00b65be4..01c36b8d6222 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -799,6 +799,7 @@ struct amdgpu_ring {
799 unsigned cond_exe_offs; 799 unsigned cond_exe_offs;
800 u64 cond_exe_gpu_addr; 800 u64 cond_exe_gpu_addr;
801 volatile u32 *cond_exe_cpu_addr; 801 volatile u32 *cond_exe_cpu_addr;
802 int vmid;
802}; 803};
803 804
804/* 805/*
@@ -936,7 +937,8 @@ int amdgpu_vm_flush(struct amdgpu_ring *ring,
936 unsigned vm_id, uint64_t pd_addr, 937 unsigned vm_id, uint64_t pd_addr,
937 uint32_t gds_base, uint32_t gds_size, 938 uint32_t gds_base, uint32_t gds_size,
938 uint32_t gws_base, uint32_t gws_size, 939 uint32_t gws_base, uint32_t gws_size,
939 uint32_t oa_base, uint32_t oa_size); 940 uint32_t oa_base, uint32_t oa_size,
941 bool vmid_switch);
940void amdgpu_vm_reset_id(struct amdgpu_device *adev, unsigned vm_id); 942void amdgpu_vm_reset_id(struct amdgpu_device *adev, unsigned vm_id);
941uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr); 943uint64_t amdgpu_vm_map_gart(const dma_addr_t *pages_addr, uint64_t addr);
942int amdgpu_vm_update_page_directory(struct amdgpu_device *adev, 944int amdgpu_vm_update_page_directory(struct amdgpu_device *adev,