diff options
author | Monk Liu <Monk.Liu@amd.com> | 2016-03-06 23:49:55 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-05-02 15:12:59 -0400 |
commit | e686941a32d31d22ce7c8b7faf9cce17816f7c4d (patch) | |
tree | 8715c3287ddb13792ec235411b734caad34c7559 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | |
parent | 03ccf481980f8d3363263e73c64473d8f2779dc0 (diff) |
drm/amdgpu: use sched_job_init to initialize sched_job
Consolidate job initialization in one place rather than
duplicating it in multiple places.
Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c index 9c9b19e2f353..eb0f7890401a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | |||
@@ -87,16 +87,19 @@ int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, | |||
87 | struct amd_sched_entity *entity, void *owner, | 87 | struct amd_sched_entity *entity, void *owner, |
88 | struct fence **f) | 88 | struct fence **f) |
89 | { | 89 | { |
90 | struct fence *fence; | ||
91 | int r; | ||
90 | job->ring = ring; | 92 | job->ring = ring; |
91 | job->base.sched = &ring->sched; | ||
92 | job->base.s_entity = entity; | ||
93 | job->base.s_fence = amd_sched_fence_create(job->base.s_entity, owner); | ||
94 | if (!job->base.s_fence) | ||
95 | return -ENOMEM; | ||
96 | 93 | ||
97 | *f = fence_get(&job->base.s_fence->base); | 94 | if (!f) |
95 | return -EINVAL; | ||
96 | |||
97 | r = amd_sched_job_init(&job->base, &ring->sched, entity, owner, &fence); | ||
98 | if (r) | ||
99 | return r; | ||
98 | 100 | ||
99 | job->owner = owner; | 101 | job->owner = owner; |
102 | *f = fence_get(fence); | ||
100 | amd_sched_entity_push_job(&job->base); | 103 | amd_sched_entity_push_job(&job->base); |
101 | 104 | ||
102 | return 0; | 105 | return 0; |