drm/amdgpu: some clean up for cs_ioctl
authorChunming Zhou <david1.zhou@amd.com>
Tue, 18 Aug 2015 08:19:13 +0000 (16:19 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 20 Aug 2015 21:02:09 +0000 (17:02 -0400)
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian K?nig <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c

index 95d4969..d050f50 100644 (file)
@@ -1257,14 +1257,6 @@ struct amdgpu_cs_parser {
 
        /* user fence */
        struct amdgpu_user_fence uf;
-
-       struct amdgpu_ring *ring;
-       struct mutex job_lock;
-       struct work_struct job_work;
-       int (*prepare_job)(struct amdgpu_cs_parser *sched_job);
-       int (*run_job)(struct amdgpu_cs_parser *sched_job);
-       int (*free_job)(struct amdgpu_cs_parser *sched_job);
-       struct amd_sched_fence *s_fence;
 };
 
 struct amdgpu_job {
index 7b4823d..77fc7cd 100644 (file)
@@ -827,32 +827,6 @@ static int amdgpu_cs_parser_prepare_job(struct amdgpu_cs_parser *sched_job)
        return r;
 }
 
-static struct amdgpu_ring *amdgpu_cs_parser_get_ring(
-       struct amdgpu_device *adev,
-       struct amdgpu_cs_parser *parser)
-{
-       int i, r;
-
-       struct amdgpu_cs_chunk *chunk;
-       struct drm_amdgpu_cs_chunk_ib *chunk_ib;
-       struct amdgpu_ring *ring;
-       for (i = 0; i < parser->nchunks; i++) {
-               chunk = &parser->chunks[i];
-               chunk_ib = (struct drm_amdgpu_cs_chunk_ib *)chunk->kdata;
-
-               if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB)
-                       continue;
-
-               r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type,
-                                      chunk_ib->ip_instance, chunk_ib->ring,
-                                      &ring);
-               if (r)
-                       return NULL;
-               break;
-       }
-       return ring;
-}
-
 static int amdgpu_cs_free_job(struct amdgpu_job *sched_job)
 {
        int i;
@@ -897,8 +871,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
 
        if (amdgpu_enable_scheduler && parser->num_ibs) {
                struct amdgpu_job *job;
-               struct amdgpu_ring * ring =
-                       amdgpu_cs_parser_get_ring(adev, parser);
+               struct amdgpu_ring * ring =  parser->ibs->ring;
                job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL);
                if (!job)
                        return -ENOMEM;