drm/amdgpu: wait forever for wait emit
authorChunming Zhou <david1.zhou@amd.com>
Tue, 28 Jul 2015 09:31:04 +0000 (17:31 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 17 Aug 2015 20:50:42 +0000 (16:50 -0400)
the job must be emitted by scheduler, otherwise scheduler is abnormal.

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian K?nig <christian.koenig@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index 58ce2655a8fd0886554393b6a63284a6d70f76c9..95807b678b6a73b026914a1c77506608d7f09bb8 100644 (file)
@@ -302,8 +302,8 @@ struct fence *amdgpu_ctx_get_fence(struct amdgpu_ctx *ctx,
        if (amdgpu_enable_scheduler) {
                r = amd_sched_wait_emit(&cring->c_entity,
                                        seq,
-                                       true,
-                                       AMDGPU_WAIT_IDLE_TIMEOUT_IN_MS);
+                                       false,
+                                       -1);
                if (r)
                        return NULL;
        }
index 34938d2417a1d348dd2c01aaf43711a4f5be7462..26c55a7a1a885f92343102023e451a9574b6ae20 100644 (file)
@@ -386,7 +386,7 @@ static int amdgpu_vm_clear_bo(struct amdgpu_device *adev,
                                   sched_job);
                r = amd_sched_wait_emit(&adev->kernel_ctx->rings[ring->idx].c_entity,
                                        v_seq,
-                                       true,
+                                       false,
                                        -1);
                if (r)
                        DRM_ERROR("emit timeout\n");
@@ -537,7 +537,7 @@ int amdgpu_vm_update_page_directory(struct amdgpu_device *adev,
                                           sched_job);
                        r = amd_sched_wait_emit(&adev->kernel_ctx->rings[ring->idx].c_entity,
                                                v_seq,
-                                               true,
+                                               false,
                                                -1);
                        if (r)
                                DRM_ERROR("emit timeout\n");
@@ -890,7 +890,7 @@ static int amdgpu_vm_bo_update_mapping(struct amdgpu_device *adev,
                                   sched_job);
                r = amd_sched_wait_emit(&adev->kernel_ctx->rings[ring->idx].c_entity,
                                        v_seq,
-                                       true,
+                                       false,
                                        -1);
                if (r)
                        DRM_ERROR("emit timeout\n");