drm/amdgpu: cleanup in kernel job submission
Add a job_alloc_with_ib helper and proper job submission.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index d928165b..a531162 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -752,12 +752,6 @@
return 0;
}
-static int amdgpu_cs_free_job(struct amdgpu_job *job)
-{
- amdgpu_job_free(job);
- return 0;
-}
-
static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
union drm_amdgpu_cs *cs)
{
@@ -771,12 +765,10 @@
job->base.sched = &ring->sched;
job->base.s_entity = &p->ctx->rings[ring->idx].entity;
job->owner = p->filp;
- job->free_job = amdgpu_cs_free_job;
fence = amd_sched_fence_create(job->base.s_entity, p->filp);
if (!fence) {
- amdgpu_cs_free_job(job);
- kfree(job);
+ amdgpu_job_free(job);
return -ENOMEM;
}