diff options
author | Christian König <christian.koenig@amd.com> | 2016-05-06 09:57:42 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-05-11 13:30:31 -0400 |
commit | 92f250989b7098f4b52d50183a7b2fc4e010731b (patch) | |
tree | 27e9b9a83675ce36313a789dac7ad27a827d671f /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | f153d2867bf74f84d47f67c377a8e3a34865e562 (diff) |
drm/amdgpu: move the context from the IBs into the job
We only have one context for all IBs.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@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, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 87ec1136a0bb..2895d63c9979 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
@@ -741,7 +741,6 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, | |||
741 | 741 | ||
742 | ib->length_dw = chunk_ib->ib_bytes / 4; | 742 | ib->length_dw = chunk_ib->ib_bytes / 4; |
743 | ib->flags = chunk_ib->flags; | 743 | ib->flags = chunk_ib->flags; |
744 | ib->ctx = parser->ctx->rings[ring->idx].entity.fence_context; | ||
745 | j++; | 744 | j++; |
746 | } | 745 | } |
747 | 746 | ||
@@ -840,6 +839,7 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, | |||
840 | union drm_amdgpu_cs *cs) | 839 | union drm_amdgpu_cs *cs) |
841 | { | 840 | { |
842 | struct amdgpu_ring *ring = p->job->ring; | 841 | struct amdgpu_ring *ring = p->job->ring; |
842 | struct amd_sched_entity *entity = &p->ctx->rings[ring->idx].entity; | ||
843 | struct fence *fence; | 843 | struct fence *fence; |
844 | struct amdgpu_job *job; | 844 | struct amdgpu_job *job; |
845 | int r; | 845 | int r; |
@@ -848,16 +848,16 @@ static int amdgpu_cs_submit(struct amdgpu_cs_parser *p, | |||
848 | p->job = NULL; | 848 | p->job = NULL; |
849 | 849 | ||
850 | r = amd_sched_job_init(&job->base, &ring->sched, | 850 | r = amd_sched_job_init(&job->base, &ring->sched, |
851 | &p->ctx->rings[ring->idx].entity, | 851 | entity, amdgpu_job_timeout_func, |
852 | amdgpu_job_timeout_func, | 852 | amdgpu_job_free_func, |
853 | amdgpu_job_free_func, | 853 | p->filp, &fence); |
854 | p->filp, &fence); | ||
855 | if (r) { | 854 | if (r) { |
856 | amdgpu_job_free(job); | 855 | amdgpu_job_free(job); |
857 | return r; | 856 | return r; |
858 | } | 857 | } |
859 | 858 | ||
860 | job->owner = p->filp; | 859 | job->owner = p->filp; |
860 | job->ctx = entity->fence_context; | ||
861 | p->fence = fence_get(fence); | 861 | p->fence = fence_get(fence); |
862 | cs->out.handle = amdgpu_ctx_add_fence(p->ctx, ring, fence); | 862 | cs->out.handle = amdgpu_ctx_add_fence(p->ctx, ring, fence); |
863 | job->ibs[job->num_ibs - 1].sequence = cs->out.handle; | 863 | job->ibs[job->num_ibs - 1].sequence = cs->out.handle; |