drm/amdgpu: add ring test for page queue
authorHuang Rui <ray.huang@amd.com>
Thu, 18 Oct 2018 10:11:45 +0000 (18:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Nov 2018 19:20:59 +0000 (14:20 -0500)
We add page queue for sdma to update page table. So here it also needs ring test
to verify it workable during the initialization.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c

index 6367a813316866a966c2020812162898d04fb5f8..dc0e8053a4774010b7459583636f885a583d479c 100644 (file)
@@ -1150,6 +1150,15 @@ static int sdma_v4_0_start(struct amdgpu_device *adev)
                        return r;
                }
 
+               if (adev->sdma.has_page_queue) {
+                       ring = &adev->sdma.instance[i].page;
+                       r = amdgpu_ring_test_ring(ring);
+                       if (r) {
+                               ring->ready = false;
+                               return r;
+                       }
+               }
+
                if (adev->mman.buffer_funcs_ring == ring)
                        amdgpu_ttm_set_buffer_funcs_status(adev, true);
        }