aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-02-01 06:20:25 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-02-10 14:17:22 -0500
commitd71518b5aa7c9c298ffbd12ddd23297e3373a37b (patch)
treebb548c89c8f21770cdf7086fee8c1c92aea1fa64 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
parenta0332b56f6e03e15946fb9d8813cfe44aeeb0e6c (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index d928165bfc33..a5311623a489 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -752,12 +752,6 @@ static int amdgpu_cs_dependencies(struct amdgpu_device *adev,
752 return 0; 752 return 0;
753} 753}
754 754
755static int amdgpu_cs_free_job(struct amdgpu_job *job)
756{
757 amdgpu_job_free(job);
758 return 0;
759}
760
761static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, 755static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
762 union drm_amdgpu_cs *cs) 756 union drm_amdgpu_cs *cs)
763{ 757{
@@ -771,12 +765,10 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p,
771 job->base.sched = &ring->sched; 765 job->base.sched = &ring->sched;
772 job->base.s_entity = &p->ctx->rings[ring->idx].entity; 766 job->base.s_entity = &p->ctx->rings[ring->idx].entity;
773 job->owner = p->filp; 767 job->owner = p->filp;
774 job->free_job = amdgpu_cs_free_job;
775 768
776 fence = amd_sched_fence_create(job->base.s_entity, p->filp); 769 fence = amd_sched_fence_create(job->base.s_entity, p->filp);
777 if (!fence) { 770 if (!fence) {
778 amdgpu_cs_free_job(job); 771 amdgpu_job_free(job);
779 kfree(job);
780 return -ENOMEM; 772 return -ENOMEM;
781 } 773 }
782 774