OSDN Git Service

drm/amdgpu: prepare job should be common code path
authorChunming Zhou <david1.zhou@amd.com>
Tue, 18 Aug 2015 08:12:15 +0000 (16:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 20 Aug 2015 21:01:32 +0000 (17:01 -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_cs.c

index c8de4b6..7b4823d 100644 (file)
@@ -891,13 +891,14 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
                return r;
        }
 
+       r = amdgpu_cs_parser_prepare_job(parser);
+       if (r)
+               goto out;
+
        if (amdgpu_enable_scheduler && parser->num_ibs) {
                struct amdgpu_job *job;
                struct amdgpu_ring * ring =
                        amdgpu_cs_parser_get_ring(adev, parser);
-               r = amdgpu_cs_parser_prepare_job(parser);
-               if (r)
-                       goto out;
                job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL);
                if (!job)
                        return -ENOMEM;
@@ -939,9 +940,6 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
                up_read(&adev->exclusive_lock);
                return 0;
        }
-       r = amdgpu_cs_parser_prepare_job(parser);
-       if (r)
-               goto out;
 
        cs->out.handle = parser->ibs[parser->num_ibs - 1].sequence;
 out: