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.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 10e0a97c7c03..51ff751e093b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -117,21 +117,20 @@ void amdgpu_job_free(struct amdgpu_job *job)
117 kfree(job); 117 kfree(job);
118} 118}
119 119
120int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, 120int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity,
121 struct drm_sched_entity *entity, void *owner, 121 void *owner, struct dma_fence **f)
122 struct dma_fence **f)
123{ 122{
124 int r; 123 int r;
125 job->ring = ring;
126 124
127 if (!f) 125 if (!f)
128 return -EINVAL; 126 return -EINVAL;
129 127
130 r = drm_sched_job_init(&job->base, &ring->sched, entity, owner); 128 r = drm_sched_job_init(&job->base, entity->sched, entity, owner);
131 if (r) 129 if (r)
132 return r; 130 return r;
133 131
134 job->owner = owner; 132 job->owner = owner;
133 job->ring = to_amdgpu_ring(entity->sched);
135 *f = dma_fence_get(&job->base.s_fence->finished); 134 *f = dma_fence_get(&job->base.s_fence->finished);
136 amdgpu_job_free_resources(job); 135 amdgpu_job_free_resources(job);
137 amdgpu_ring_priority_get(job->ring, job->base.s_priority); 136 amdgpu_ring_priority_get(job->ring, job->base.s_priority);