aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
authorMonk Liu <Monk.Liu@amd.com>2016-04-19 08:11:32 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-05-11 12:31:16 -0400
commitc5637837ba5d5b5e962e73f5a1a7c5456fa85a68 (patch)
tree50b66ff9a4d96cf46ee1e6503468cf2f4c009b33 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
parent1f207f81e371bed8aa4c898de091d5cfbf68f59e (diff)
drm/amdgpu: keep vm in job instead of ib (v2)
ib.vm is a legacy way to get vm, after scheduler implemented vm should be get from job, and all ibs from one job share the same vm, no need to keep ib.vm just move vm field to job. this patch as well add job as paramter to ib_schedule so it can get vm from job->vm. v2: agd: sqaush in: drm/amdgpu: check if ring emit_vm_flush exists in vm flush No vm flush on engines that don't support VM. bug: https://bugs.freedesktop.org/show_bug.cgi?id=95195 Signed-off-by: Monk Liu <Monk.Liu@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_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 2ebba295d0e4..1a065961981a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -120,6 +120,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser *p,
120int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data) 120int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
121{ 121{
122 struct amdgpu_fpriv *fpriv = p->filp->driver_priv; 122 struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
123 struct amdgpu_vm *vm = &fpriv->vm;
123 union drm_amdgpu_cs *cs = data; 124 union drm_amdgpu_cs *cs = data;
124 uint64_t *chunk_array_user; 125 uint64_t *chunk_array_user;
125 uint64_t *chunk_array; 126 uint64_t *chunk_array;
@@ -214,7 +215,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
214 } 215 }
215 } 216 }
216 217
217 ret = amdgpu_job_alloc(p->adev, num_ibs, &p->job); 218 ret = amdgpu_job_alloc(p->adev, num_ibs, &p->job, vm);
218 if (ret) 219 if (ret)
219 goto free_all_kdata; 220 goto free_all_kdata;
220 221