aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_job.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 0f6719e0ace0..97db6beeca13 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -80,13 +80,17 @@ void amdgpu_job_free(struct amdgpu_job *job)
80} 80}
81 81
82int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, 82int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring,
83 void *owner, struct fence **f) 83 struct amd_sched_entity *entity, void *owner,
84 struct fence **f)
84{ 85{
85 struct amdgpu_device *adev = job->adev; 86 struct amdgpu_device *adev = job->adev;
86 87
88 if (!entity)
89 entity = &adev->kernel_ctx.rings[ring->idx].entity;
90
87 job->ring = ring; 91 job->ring = ring;
88 job->base.sched = &ring->sched; 92 job->base.sched = &ring->sched;
89 job->base.s_entity = &adev->kernel_ctx.rings[ring->idx].entity; 93 job->base.s_entity = entity;
90 job->base.s_fence = amd_sched_fence_create(job->base.s_entity, owner); 94 job->base.s_fence = amd_sched_fence_create(job->base.s_entity, owner);
91 if (!job->base.s_fence) 95 if (!job->base.s_fence)
92 return -ENOMEM; 96 return -ENOMEM;