diff options
author | Flora Cui <flora.cui@amd.com> | 2019-03-18 16:45:31 +0800 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2019-12-09 15:46:53 -0500 |
commit | 31a6ec141ad0f190af59a96d86f0ebe8fcee6287 (patch) | |
tree | 4e28e11698f8df6d39a85405f0cf5a2414a62f94 /tests/amdgpu/deadlock_tests.c | |
parent | 5e1f6533a0b15587220f661872c86981706b4d42 (diff) | |
download | external_libdrm-31a6ec141ad0f190af59a96d86f0ebe8fcee6287.tar.gz external_libdrm-31a6ec141ad0f190af59a96d86f0ebe8fcee6287.tar.bz2 external_libdrm-31a6ec141ad0f190af59a96d86f0ebe8fcee6287.zip |
tests/amdgpu: add gfx ring bad slow draw test
for gfx9
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'tests/amdgpu/deadlock_tests.c')
-rw-r--r-- | tests/amdgpu/deadlock_tests.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/amdgpu/deadlock_tests.c b/tests/amdgpu/deadlock_tests.c index 0735a724..d6eb35b1 100644 --- a/tests/amdgpu/deadlock_tests.c +++ b/tests/amdgpu/deadlock_tests.c @@ -119,6 +119,7 @@ static void amdgpu_dispatch_hang_compute(void); static void amdgpu_dispatch_hang_slow_gfx(void); static void amdgpu_dispatch_hang_slow_compute(void); static void amdgpu_draw_hang_gfx(void); +static void amdgpu_draw_hang_slow_gfx(void); CU_BOOL suite_deadlock_tests_enable(void) { @@ -188,6 +189,7 @@ CU_TestInfo deadlock_tests[] = { { "gfx ring bad slow dispatch test (set amdgpu.lockup_timeout=50)", amdgpu_dispatch_hang_slow_gfx }, { "compute ring bad slow dispatch test (set amdgpu.lockup_timeout=50,50)", amdgpu_dispatch_hang_slow_compute }, { "gfx ring bad draw test (set amdgpu.lockup_timeout=50)", amdgpu_draw_hang_gfx }, + { "gfx ring slow bad draw test (set amdgpu.lockup_timeout=50)", amdgpu_draw_hang_slow_gfx }, CU_TEST_INFO_NULL, }; @@ -526,3 +528,19 @@ static void amdgpu_draw_hang_gfx(void) amdgpu_memcpy_draw_test(device_handle, ring_id, 0); } } + +static void amdgpu_draw_hang_slow_gfx(void) +{ + struct drm_amdgpu_info_hw_ip info; + uint32_t ring_id; + int r; + + r = amdgpu_query_hw_ip_info(device_handle, AMDGPU_HW_IP_GFX, 0, &info); + CU_ASSERT_EQUAL(r, 0); + + for (ring_id = 0; (1 << ring_id) & info.available_rings; ring_id++) { + amdgpu_memcpy_draw_test(device_handle, ring_id, 0); + amdgpu_memcpy_draw_hang_slow_test(device_handle, ring_id); + amdgpu_memcpy_draw_test(device_handle, ring_id, 0); + } +} |