From 94d5c8537123c51c4893c1a669d67c0603b7c7d8 Mon Sep 17 00:00:00 2001 From: "Oliveira, Daniel" Date: Wed, 28 Feb 2024 14:31:45 -0600 Subject: [PATCH] fix: [rocm/amd_smi_lib] Navi3X/Navi2X/MI100 amdsmitst 2 test cases fail when running Checks returned error by get_gpu_pci_bandwith() before assert Code changes related to the following: * Unit tests Change-Id: I950eee5d92607eea08722af7d7c84e8457cd4e60 Signed-off-by: Oliveira, Daniel [ROCm/amdsmi commit: c6208c0db05252460fe2173ce5ad1c288b7a12a1] --- .../tests/amd_smi_test/functional/frequencies_read.cc | 9 ++++++++- .../tests/amd_smi_test/functional/pci_read_write.cc | 10 ++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc index aba165cc50..c9a54c5426 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc @@ -183,7 +183,14 @@ void TestFrequenciesRead::Run(void) { // Verify api support checking functionality is working // NOTE: We expect AMDSMI_STATUS_NOT_SUPPORTED, if rsmi_pcie_bandwidth_t* is NULL err = amdsmi_get_gpu_pci_bandwidth(processor_handles_[i], nullptr); - ASSERT_EQ(err, AMDSMI_STATUS_NOT_SUPPORTED); + if (err != amdsmi_status_t::AMDSMI_STATUS_NOT_SUPPORTED) { + ASSERT_EQ(err, AMDSMI_STATUS_INVAL); + } + else { + auto status_string(""); + amdsmi_status_code_to_string(err, &status_string); + std::cout << "\t\t** amdsmi_get_gpu_pci_bandwidth(): " << status_string << "\n"; + } } } } diff --git a/projects/amdsmi/tests/amd_smi_test/functional/pci_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/pci_read_write.cc index 0f658aec03..5d6d43d0f2 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/pci_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/pci_read_write.cc @@ -142,7 +142,6 @@ void TestPciReadWrite::Run(void) { } ret = amdsmi_get_gpu_pci_bandwidth(processor_handles_[dv_ind], &bw); - if (ret == AMDSMI_STATUS_NOT_SUPPORTED) { std::cout << "TEST FAILURE: Current PCIe bandwidth is not detected. " "This is likely because it is not indicated in the pp_dpm_pcie sysfs " @@ -165,7 +164,14 @@ void TestPciReadWrite::Run(void) { // Verify api support checking functionality is working // NOTE: We expect AMDSMI_STATUS_NOT_SUPPORTED, if rsmi_pcie_bandwidth_t* is NULL ret = amdsmi_get_gpu_pci_bandwidth(processor_handles_[dv_ind], nullptr); - ASSERT_EQ(ret, AMDSMI_STATUS_NOT_SUPPORTED); + if (ret != amdsmi_status_t::AMDSMI_STATUS_NOT_SUPPORTED) { + ASSERT_EQ(ret, AMDSMI_STATUS_INVAL); + } + else { + auto status_string(""); + amdsmi_status_code_to_string(ret, &status_string); + std::cout << "\t\t** amdsmi_get_gpu_pci_bandwidth(): " << status_string << "\n"; + } // First set the bitmask to all supported bandwidths freq_bitmask = ~(~0u << bw.transfer_rate.num_supported);