|
@@ -237,82 +237,3 @@ void amdgpu_test_moves(struct amdgpu_device *adev)
|
|
|
if (adev->mman.buffer_funcs)
|
|
|
amdgpu_do_test_moves(adev);
|
|
|
}
|
|
|
-
|
|
|
-void amdgpu_test_ring_sync(struct amdgpu_device *adev,
|
|
|
- struct amdgpu_ring *ringA,
|
|
|
- struct amdgpu_ring *ringB)
|
|
|
-{
|
|
|
-}
|
|
|
-
|
|
|
-static void amdgpu_test_ring_sync2(struct amdgpu_device *adev,
|
|
|
- struct amdgpu_ring *ringA,
|
|
|
- struct amdgpu_ring *ringB,
|
|
|
- struct amdgpu_ring *ringC)
|
|
|
-{
|
|
|
-}
|
|
|
-
|
|
|
-static bool amdgpu_test_sync_possible(struct amdgpu_ring *ringA,
|
|
|
- struct amdgpu_ring *ringB)
|
|
|
-{
|
|
|
- if (ringA == &ringA->adev->vce.ring[0] &&
|
|
|
- ringB == &ringB->adev->vce.ring[1])
|
|
|
- return false;
|
|
|
-
|
|
|
- return true;
|
|
|
-}
|
|
|
-
|
|
|
-void amdgpu_test_syncing(struct amdgpu_device *adev)
|
|
|
-{
|
|
|
- int i, j, k;
|
|
|
-
|
|
|
- for (i = 1; i < AMDGPU_MAX_RINGS; ++i) {
|
|
|
- struct amdgpu_ring *ringA = adev->rings[i];
|
|
|
- if (!ringA || !ringA->ready)
|
|
|
- continue;
|
|
|
-
|
|
|
- for (j = 0; j < i; ++j) {
|
|
|
- struct amdgpu_ring *ringB = adev->rings[j];
|
|
|
- if (!ringB || !ringB->ready)
|
|
|
- continue;
|
|
|
-
|
|
|
- if (!amdgpu_test_sync_possible(ringA, ringB))
|
|
|
- continue;
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d and %d...\n", i, j);
|
|
|
- amdgpu_test_ring_sync(adev, ringA, ringB);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d and %d...\n", j, i);
|
|
|
- amdgpu_test_ring_sync(adev, ringB, ringA);
|
|
|
-
|
|
|
- for (k = 0; k < j; ++k) {
|
|
|
- struct amdgpu_ring *ringC = adev->rings[k];
|
|
|
- if (!ringC || !ringC->ready)
|
|
|
- continue;
|
|
|
-
|
|
|
- if (!amdgpu_test_sync_possible(ringA, ringC))
|
|
|
- continue;
|
|
|
-
|
|
|
- if (!amdgpu_test_sync_possible(ringB, ringC))
|
|
|
- continue;
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", i, j, k);
|
|
|
- amdgpu_test_ring_sync2(adev, ringA, ringB, ringC);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", i, k, j);
|
|
|
- amdgpu_test_ring_sync2(adev, ringA, ringC, ringB);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", j, i, k);
|
|
|
- amdgpu_test_ring_sync2(adev, ringB, ringA, ringC);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", j, k, i);
|
|
|
- amdgpu_test_ring_sync2(adev, ringB, ringC, ringA);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", k, i, j);
|
|
|
- amdgpu_test_ring_sync2(adev, ringC, ringA, ringB);
|
|
|
-
|
|
|
- DRM_INFO("Testing syncing between rings %d, %d and %d...\n", k, j, i);
|
|
|
- amdgpu_test_ring_sync2(adev, ringC, ringB, ringA);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|