From 3bed2b7b8fa17abe31f198e8e427293e36e46c03 Mon Sep 17 00:00:00 2001 From: "Galantsev, Dmitrii" Date: Thu, 16 Feb 2023 14:40:40 -0600 Subject: [PATCH 1/4] Improve Debian packaging recommendation See: https://cmake.org/cmake/help/latest/cpack_gen/deb.html#variable:CPACK_DEBIAN_PACKAGE_RECOMMENDS Change-Id: I945cbf2104d108caf0ee6e2e963ecfca9a6320e0 Signed-off-by: Galantsev, Dmitrii --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a709822e95..da6241ed15 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -231,7 +231,7 @@ endif() #Debian package specific variables set(CPACK_DEBIAN_PACKAGE_PROVIDES "amd-smi") -set(CPACK_DEBIAN_PACKAGE_SUGGESTS "sudo, libdrm-dev") +set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "sudo, libdrm-dev") set(CPACK_DEBIAN_PACKAGE_DEPENDS "python3") ## Process the Debian install/remove scripts to update the CPACK variables From db9d8793be7ddc5a82f9995e614d4f262058be29 Mon Sep 17 00:00:00 2001 From: Marko Oblak Date: Tue, 14 Feb 2023 10:50:24 +0100 Subject: [PATCH 2/4] SWDEV-381227 - [AMDSMI][Linux][BM] SMILIB returns wrong temperature value Signed-off-by: Marko Oblak Change-Id: Idc9929d1cfd882bb33abf040378587f68d22b31a --- README.md | 2 +- example/amd_smi_drm_example.cc | 2 +- example/amd_smi_nodrm_example.cc | 2 +- src/amd_smi/amd_smi.cc | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index edfcecde0f..eb7eb00369 100755 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ int main() { int64_t val_i64 = 0; ret = amdsmi_dev_get_temp_metric(device_handles[j], TEMPERATURE_TYPE_EDGE, AMDSMI_TEMP_CURRENT, &val_i64); - std::cout << "\t\tTemperature: " << val_i64/1000 << "C" << std::endl; + std::cout << "\t\tTemperature: " << val_i64 << "C" << std::endl; } } diff --git a/example/amd_smi_drm_example.cc b/example/amd_smi_drm_example.cc index 47857aa72a..de821794f7 100644 --- a/example/amd_smi_drm_example.cc +++ b/example/amd_smi_drm_example.cc @@ -640,7 +640,7 @@ int main() { AMDSMI_TEMP_CURRENT, &val_i64); CHK_AMDSMI_RET(ret) printf(" Output of amdsmi_dev_get_temp_metric:\n"); - std::cout << "\t\tTemperature: " << val_i64 / 1000 << "C" + std::cout << "\t\tTemperature: " << val_i64 << "C" << "\n\n"; // Get frame buffer diff --git a/example/amd_smi_nodrm_example.cc b/example/amd_smi_nodrm_example.cc index 3f7cfadec0..43c01594ff 100644 --- a/example/amd_smi_nodrm_example.cc +++ b/example/amd_smi_nodrm_example.cc @@ -304,7 +304,7 @@ int main() { AMDSMI_TEMP_CURRENT, &val_i64); CHK_AMDSMI_RET(ret) printf(" Output of amdsmi_dev_get_temp_metric:\n"); - std::cout << "\t\tTemperature: " << val_i64 / 1000 << "C" + std::cout << "\t\tTemperature: " << val_i64 << "C" << "\n\n"; // Get frame buffer diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index be05374118..7c3cbbca15 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -336,14 +336,14 @@ amdsmi_status_t amdsmi_dev_get_temp_metric(amdsmi_device_handle device_handle, device_handle, &metric_info); if (r_status != AMDSMI_STATUS_SUCCESS) return r_status; - *temperature = metric_info.temperature_vrsoc; return r_status; } - - return rsmi_wrapper(rsmi_dev_temp_metric_get, device_handle, + amdsmi_status_t amdsmi_status = rsmi_wrapper(rsmi_dev_temp_metric_get, device_handle, static_cast(sensor_type), static_cast(metric), temperature); + *temperature /= 1000; + return amdsmi_status; } amdsmi_status_t amdsmi_get_vram_usage(amdsmi_device_handle device_handle, From 0aadf7eab2247aa86b2fa1ee7dd5387dc827c468 Mon Sep 17 00:00:00 2001 From: Marko Oblak Date: Fri, 17 Feb 2023 17:47:25 +0100 Subject: [PATCH 3/4] SWDEV-373291 - Added implementation of versioning solution Signed-off-by: Marko Oblak Change-Id: Ifd0be3f81902466339b6c098ce16d5e49740056c --- include/amd_smi/amdsmi.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/include/amd_smi/amdsmi.h b/include/amd_smi/amdsmi.h index 3fb22f21e5..c7c273565c 100644 --- a/include/amd_smi/amdsmi.h +++ b/include/amd_smi/amdsmi.h @@ -87,6 +87,29 @@ typedef enum { #define AMDSMI_TIME_FORMAT "%02d:%02d:%02d.%03d" #define AMDSMI_DATE_FORMAT "%04d-%02d-%02d:%02d:%02d:%02d.%03d" +/** + * @brief library versioning + */ + +//! Year should follow the IP driver package version: 22.40/23.10 and similar +#define AMDSMI_LIB_VERSION_YEAR 23 + +//! Major version should be changed for every header change (adding/deleting APIs, changing names, fields of structures, etc.) +#define AMDSMI_LIB_VERSION_MAJOR 1 + +//! Minor version should be updated for each API change, but without changing headers +#define AMDSMI_LIB_VERSION_MINOR 1 + +//! Release version should be set to 0 as default and can be updated by the PMs for each CSP point release +#define AMDSMI_LIB_VERSION_RELEASE 0 + +#define AMDSMI_LIB_VERSION_CREATE_STRING(YEAR, MAJOR, MINOR, RELEASE) (#YEAR "." #MAJOR "." #MINOR "." #RELEASE) +#define AMDSMI_LIB_VERSION_EXPAND_PARTS(YEAR_STR, MAJOR_STR, MINOR_STR, RELEASE_STR) AMDSMI_LIB_VERSION_CREATE_STRING(YEAR_STR, MAJOR_STR, MINOR_STR, RELEASE_STR) +#define AMDSMI_LIB_VERSION_STRING AMDSMI_LIB_VERSION_EXPAND_PARTS(AMDSMI_LIB_VERSION_YEAR, AMDSMI_LIB_VERSION_MAJOR, AMDSMI_LIB_VERSION_MINOR, AMDSMI_LIB_VERSION_RELEASE) + + +/** + typedef enum { AMDSMI_MM_UVD, AMDSMI_MM_VCE, From 7eea4e596b9d9dbbcd377dd26744289f45e97724 Mon Sep 17 00:00:00 2001 From: Marko Oblak Date: Wed, 22 Feb 2023 11:00:57 +0100 Subject: [PATCH 4/4] SWDEV-384678 - Resolve issue with amdsmi build failure Signed-off-by: Marko Oblak Change-Id: I073113814d2f6740c9eaea1b298d8aff9ea58c72 --- include/amd_smi/amdsmi.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/amd_smi/amdsmi.h b/include/amd_smi/amdsmi.h index c7c273565c..ed8716935f 100644 --- a/include/amd_smi/amdsmi.h +++ b/include/amd_smi/amdsmi.h @@ -107,9 +107,6 @@ typedef enum { #define AMDSMI_LIB_VERSION_EXPAND_PARTS(YEAR_STR, MAJOR_STR, MINOR_STR, RELEASE_STR) AMDSMI_LIB_VERSION_CREATE_STRING(YEAR_STR, MAJOR_STR, MINOR_STR, RELEASE_STR) #define AMDSMI_LIB_VERSION_STRING AMDSMI_LIB_VERSION_EXPAND_PARTS(AMDSMI_LIB_VERSION_YEAR, AMDSMI_LIB_VERSION_MAJOR, AMDSMI_LIB_VERSION_MINOR, AMDSMI_LIB_VERSION_RELEASE) - -/** - typedef enum { AMDSMI_MM_UVD, AMDSMI_MM_VCE,