diff --git a/tests/kfdtest/src/KFDBaseComponentTest.cpp b/tests/kfdtest/src/KFDBaseComponentTest.cpp index 8d6ca73b7a..c56e0ea239 100644 --- a/tests/kfdtest/src/KFDBaseComponentTest.cpp +++ b/tests/kfdtest/src/KFDBaseComponentTest.cpp @@ -63,7 +63,8 @@ void KFDBaseComponentTest::SetUp() { g_TestGPUFamilyId = FamilyIdFromNode(nodeProperties); - GetSdmaInfo(nodeProperties, &m_numSdmaEngines, &m_numSdmaQueuesPerEngine); + GetSdmaInfo(nodeProperties, &m_numSdmaEngines, &m_numSdmaXgmiEngines, + &m_numSdmaQueuesPerEngine); m_FamilyId = g_TestGPUFamilyId; diff --git a/tests/kfdtest/src/KFDBaseComponentTest.hpp b/tests/kfdtest/src/KFDBaseComponentTest.hpp index cfd291b195..867718e06d 100644 --- a/tests/kfdtest/src/KFDBaseComponentTest.hpp +++ b/tests/kfdtest/src/KFDBaseComponentTest.hpp @@ -61,6 +61,7 @@ class KFDBaseComponentTest : public testing::Test { HsaSystemProperties m_SystemProperties; unsigned int m_FamilyId; unsigned int m_numSdmaEngines; + unsigned int m_numSdmaXgmiEngines; unsigned int m_numSdmaQueuesPerEngine; HsaMemFlags m_MemoryFlags; HsaNodeInfo m_NodeInfo; diff --git a/tests/kfdtest/src/KFDTestUtil.cpp b/tests/kfdtest/src/KFDTestUtil.cpp index 0021af2faf..da3da02d42 100644 --- a/tests/kfdtest/src/KFDTestUtil.cpp +++ b/tests/kfdtest/src/KFDTestUtil.cpp @@ -128,22 +128,20 @@ unsigned int FamilyIdFromNode(const HsaNodeProperties *props) { void GetSdmaInfo(const HsaNodeProperties *props, unsigned int *p_num_sdma_engines, + unsigned int *p_num_sdma_xgmi_engines, unsigned int *p_num_sdma_queues_per_engine) { - int num_sdma_engines = 2; int num_sdma_queues_per_engine = 2; - switch (props->EngineId.ui32.Major) { - case 9: - if (props->EngineId.ui32.Stepping == 2) // RAVEN - num_sdma_engines = 1; - else if (props->EngineId.ui32.Stepping == 6) // VEGA20 + if (props->EngineId.ui32.Major == 9) { + if (props->EngineId.ui32.Stepping == 6) // VEGA20 num_sdma_queues_per_engine = 8; - - break; } if (p_num_sdma_engines) - *p_num_sdma_engines = num_sdma_engines; + *p_num_sdma_engines = props->NumSdmaEngines; + + if (p_num_sdma_xgmi_engines) + *p_num_sdma_xgmi_engines = props->NumSdmaXgmiEngines; if (p_num_sdma_queues_per_engine) *p_num_sdma_queues_per_engine = num_sdma_queues_per_engine; diff --git a/tests/kfdtest/src/KFDTestUtil.hpp b/tests/kfdtest/src/KFDTestUtil.hpp index 48e2701be0..1e40e8b4e4 100644 --- a/tests/kfdtest/src/KFDTestUtil.hpp +++ b/tests/kfdtest/src/KFDTestUtil.hpp @@ -52,6 +52,7 @@ unsigned int FamilyIdFromNode(const HsaNodeProperties *props); void GetSdmaInfo(const HsaNodeProperties *props, unsigned int *p_num_sdma_engines, + unsigned int *p_num_sdma_xgmi_engines, unsigned int *p_num_sdma_queues_per_engine); class HsaMemoryBuffer {