diff options
author | Christian König <christian.koenig@amd.com> | 2016-02-01 06:20:25 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-10 14:17:22 -0500 |
commit | d71518b5aa7c9c298ffbd12ddd23297e3373a37b (patch) | |
tree | bb548c89c8f21770cdf7086fee8c1c92aea1fa64 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | a0332b56f6e03e15946fb9d8813cfe44aeeb0e6c (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.c | 10 |
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 | ||
755 | static int amdgpu_cs_free_job(struct amdgpu_job *job) | ||
756 | { | ||
757 | amdgpu_job_free(job); | ||
758 | return 0; | ||
759 | } | ||
760 | |||
761 | static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, | 755 | static 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 | ||