The suite stalls the CP, until RCA is done the suite is
disabled to not disrupt regression testing.

Signed-off-by: Andrey Grodzovsky <andrey.grodzov...@amd.com>
---
 tests/amdgpu/amdgpu_test.c    |  2 +-
 tests/amdgpu/amdgpu_test.h    |  5 +++++
 tests/amdgpu/deadlock_tests.c | 19 +++++++++++++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/tests/amdgpu/amdgpu_test.c b/tests/amdgpu/amdgpu_test.c
index 91010dc..ee64152 100644
--- a/tests/amdgpu/amdgpu_test.c
+++ b/tests/amdgpu/amdgpu_test.c
@@ -162,7 +162,7 @@ static Suites_Active_Status suites_active_stat[] = {
                },
                {
                        .pName = DEADLOCK_TESTS_STR,
-                       .pActive = always_active,
+                       .pActive = suite_deadlock_tests_enable,
                },
                {
                        .pName = VM_TESTS_STR,
diff --git a/tests/amdgpu/amdgpu_test.h b/tests/amdgpu/amdgpu_test.h
index dd236ed..414fcb8 100644
--- a/tests/amdgpu/amdgpu_test.h
+++ b/tests/amdgpu/amdgpu_test.h
@@ -160,6 +160,11 @@ int suite_deadlock_tests_init();
 int suite_deadlock_tests_clean();
 
 /**
+ * Decide if the suite is enabled by default or not.
+ */
+CU_BOOL suite_deadlock_tests_enable(void);
+
+/**
  * Tests in uvd enc test suite
  */
 extern CU_TestInfo deadlock_tests[];
diff --git a/tests/amdgpu/deadlock_tests.c b/tests/amdgpu/deadlock_tests.c
index f5c4552..84f4deb 100644
--- a/tests/amdgpu/deadlock_tests.c
+++ b/tests/amdgpu/deadlock_tests.c
@@ -36,6 +36,7 @@
 
 #include "amdgpu_test.h"
 #include "amdgpu_drm.h"
+#include "amdgpu_internal.h"
 
 #include <pthread.h>
 
@@ -87,6 +88,24 @@ static void amdgpu_deadlock_helper(unsigned ip_type);
 static void amdgpu_deadlock_gfx(void);
 static void amdgpu_deadlock_compute(void);
 
+CU_BOOL suite_deadlock_tests_enable(void)
+{
+       if (amdgpu_device_initialize(drm_amdgpu[0], &major_version,
+                                            &minor_version, &device_handle))
+               return CU_FALSE;
+
+       if (amdgpu_device_deinitialize(device_handle))
+               return CU_FALSE;
+
+
+       if (device_handle->info.family_id == AMDGPU_FAMILY_AI) {
+               printf("\n\nCurrently hangs the CP on this ASIC, deadlock suite 
disabled\n");
+               return CU_FALSE;
+       }
+
+       return CU_TRUE;
+}
+
 int suite_deadlock_tests_init(void)
 {
        struct amdgpu_gpu_info gpu_info = {0};
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to