diff --git a/projects/amdsmi/CMakeLists.txt b/projects/amdsmi/CMakeLists.txt index ef94192ec1..31b2533202 100755 --- a/projects/amdsmi/CMakeLists.txt +++ b/projects/amdsmi/CMakeLists.txt @@ -18,7 +18,7 @@ if (NOT DEFINED CPACK_RESOURCE_FILE_LICENSE) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt") endif() -set(ROCM_SMI "rocm_smi") +set(ROCM_SMI "amd_smi") set(ROCM_SMI_COMPONENT "lib${ROCM_SMI}") set(ROCM_SMI_TARGET "${ROCM_SMI}64") set(ROCM_SMI_LIB_NAME "lib${ROCM_SMI_TARGET}") @@ -111,26 +111,28 @@ else () endif () set(COMMON_SRC_DIR "${PROJECT_SOURCE_DIR}/src") -set(COMMON_INC_DIR "${PROJECT_SOURCE_DIR}/include/rocm_smi") +set(ROCM_SRC_DIR "${PROJECT_SOURCE_DIR}/rocm_smi/src") +set(AMDSMI_SRC_DIR "${PROJECT_SOURCE_DIR}/src/amd_smi") +set(COMMON_INC_DIR "${PROJECT_SOURCE_DIR}/include/amd_smi") +set(AMDSMI_INC_DIR "${PROJECT_SOURCE_DIR}/include/amd_smi") +set(ROCM_INC_DIR "${PROJECT_SOURCE_DIR}/rocm_smi/include/rocm_smi") set(SHR_MUTEX_DIR "${PROJECT_SOURCE_DIR}/third_party/shared_mutex") -set(AMDSMI_SRC_DIR "${PROJECT_SOURCE_DIR}/amd_smi/src") -set(AMDSMI_INC_DIR "${PROJECT_SOURCE_DIR}/amd_smi/include") include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/third_party/shared_mutex ${CMAKE_CURRENT_SOURCE_DIR}/amd_smi/include /usr/include/libdrm) -set(CMN_SRC_LIST "${COMMON_SRC_DIR}/rocm_smi_device.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_main.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_monitor.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_power_mon.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_utils.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_counters.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_kfd.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_io_link.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi_gpu_metrics.cc") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_SRC_DIR}/rocm_smi.cc") +set(CMN_SRC_LIST "${ROCM_SRC_DIR}/rocm_smi_device.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_main.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_monitor.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_power_mon.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_utils.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_counters.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_kfd.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_io_link.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi_gpu_metrics.cc") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${ROCM_SRC_DIR}/rocm_smi.cc") set(CMN_SRC_LIST ${CMN_SRC_LIST} "${SHR_MUTEX_DIR}/shared_mutex.cc") set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_SRC_DIR}/amd_smi.cc") set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_SRC_DIR}/amd_smi_common.cc") @@ -140,35 +142,68 @@ set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_SRC_DIR}/amd_smi_system.cc") set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_SRC_DIR}/amd_smi_drm.cc") set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_SRC_DIR}/amd_smi_lib_loader.cc") -set(CMN_INC_LIST "${COMMON_INC_DIR}/rocm_smi_device.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_main.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_monitor.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_power_mon.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_utils.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_common.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_exception.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_counters.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_kfd.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi_io_link.h") -set(CMN_INC_LIST ${CMN_INC_LIST} "${COMMON_INC_DIR}/rocm_smi.h") +set(CMN_INC_LIST "${ROCM_INC_DIR}/rocm_smi_device.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_main.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_monitor.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_power_mon.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_utils.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_common.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_exception.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_counters.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_kfd.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi_io_link.h") +set(CMN_INC_LIST ${CMN_INC_LIST} "${ROCM_INC_DIR}/rocm_smi.h") set(CMN_INC_LIST ${CMN_INC_LIST} "${SHR_MUTEX_DIR}/shared_mutex.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/amd_smi.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_common.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_device.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_gpu_device.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_socket.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_system.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_drm.h") -set(CMN_SRC_LIST ${CMN_SRC_LIST} "${AMDSMI_INC_DIR}/impl/amd_smi_lib_loader.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/amd_smi.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_common.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_device.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_gpu_device.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_socket.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_system.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_drm.h") +set(CMN_SRC_LIST ${CMN_SRC_LIST} "${COMMON_INC_DIR}/impl/amd_smi_lib_loader.h") add_subdirectory("rocm_smi") -add_subdirectory("amd_smi") -add_subdirectory("oam") -option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorg with backward compatibility" ON) -if(FILE_REORG_BACKWARD_COMPATIBILITY) - include(rocm_smi-backward-compat.cmake) -endif() +# Examples and docs +set(SMI_EXAMPLE_EXE "amd_smi_ex") +add_executable(${SMI_EXAMPLE_EXE} "example/amd_smi_example.cc") +target_link_libraries(${SMI_EXAMPLE_EXE} ${ROCM_SMI_TARGET}) +add_dependencies(${SMI_EXAMPLE_EXE} ${ROCM_SMI_TARGET}) + +# Generate Doxygen documentation +find_package(Doxygen) +find_package(LATEX COMPONENTS PDFLATEX) + +if (DOXYGEN_FOUND AND LATEX_FOUND) + set (RSMI_MANUAL_NAME "AMD_SMI_Manual") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg + ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) + + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg + "${AMDSMI_INC_DIR}/amd_smi.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf + COMMAND make > /dev/null + COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf + ${CMAKE_CURRENT_SOURCE_DIR}/docs/${RSMI_MANUAL_NAME}_new.pdf + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/latex) + + add_custom_target(amdsmi_docs DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf) + + add_dependencies(${ROCM_SMI_TARGET} amdsmi_docs) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf + DESTINATION share/doc/${ROCM_SMI} RENAME ${RSMI_MANUAL_NAME}.pdf) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.md + DESTINATION share/doc/${ROCM_SMI}/) +else() + message("Doxygen or Latex is not found. Will not generate documents.") +endif(DOXYGEN_FOUND AND LATEX_FOUND) + + #TODO: Should use GNUInstallDirs to match distro standards #This need fix in subdirectory CMakefile as well #include(GNUInstallDirs) @@ -179,7 +214,7 @@ set(BIN_INSTALL_DIR "bin") include(CMakePackageConfigHelpers) configure_package_config_file( - rocm_smi-config.cmake.in + amd_smi-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/rocm_smi-config.cmake INSTALL_DESTINATION ${LIB_INSTALL_DIR}/cmake/rocm_smi PATH_VARS LIB_INSTALL_DIR INCLUDE_INSTALL_DIR BIN_INSTALL_DIR @@ -201,7 +236,7 @@ install( # Create cmake target # Add all targets to the build-tree export set -export(TARGETS ${ROCM_SMI_TARGET} ${OAM_TARGET} +export(TARGETS ${ROCM_SMI_TARGET} FILE "${PROJECT_BINARY_DIR}/rcom_smi_target.cmake") # Export the package for use from the build-tree diff --git a/projects/amdsmi/rocm_smi-config.cmake.in b/projects/amdsmi/amd_smi-config.cmake.in similarity index 100% rename from projects/amdsmi/rocm_smi-config.cmake.in rename to projects/amdsmi/amd_smi-config.cmake.in diff --git a/projects/amdsmi/amd_smi/CMakeLists.txt b/projects/amdsmi/amd_smi/CMakeLists.txt deleted file mode 100755 index 219e7b71f0..0000000000 --- a/projects/amdsmi/amd_smi/CMakeLists.txt +++ /dev/null @@ -1,58 +0,0 @@ -# -# Minimum version of cmake required -# - -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") -message(" CMake AMD SMI (Library) ") -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") - -## Verbose output. -set(CMAKE_VERBOSE_MAKEFILE on) - -# Required Defines first: - -message("") -message("Build Configuration:") -message("--------Proj Src Dir: " ${PROJECT_SOURCE_DIR}) - -# Will still use the rocm_smi lib for now. -set(ROCM_SMI "rocm_smi") -set(ROCM_SMI_COMPONENT "lib${ROCM_SMI}") -set(ROCM_SMI_TARGET "${ROCM_SMI}64") - -set(SMI_EXAMPLE_EXE "amd_smi_ex") -add_executable(${SMI_EXAMPLE_EXE} "example/amd_smi_example.cc") -target_link_libraries(${SMI_EXAMPLE_EXE} ${ROCM_SMI_TARGET}) - -# Generate Doxygen documentation -find_package(Doxygen) -find_package(LATEX COMPONENTS PDFLATEX) - -if (DOXYGEN_FOUND AND LATEX_FOUND) - set (RSMI_MANUAL_NAME "AMD_SMI_Manual") - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg - ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg - "${AMDSMI_INC_DIR}/amd_smi.h" - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf - COMMAND make > /dev/null - COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf - ${CMAKE_CURRENT_SOURCE_DIR}/docs/${RSMI_MANUAL_NAME}_new.pdf - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/latex) - - add_custom_target(amdsmi_docs DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf) - - add_dependencies(${ROCM_SMI_TARGET} amdsmi_docs) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf - DESTINATION share/doc/${ROCM_SMI} RENAME ${RSMI_MANUAL_NAME}.pdf) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../README.md - DESTINATION share/doc/${ROCM_SMI}/) -else() - message("Doxygen or Latex is not found. Will not generate documents.") -endif(DOXYGEN_FOUND AND LATEX_FOUND) - diff --git a/projects/amdsmi/amd_smi/docs/amd_smi_doxygen.cfg b/projects/amdsmi/docs/amd_smi_doxygen.cfg similarity index 99% rename from projects/amdsmi/amd_smi/docs/amd_smi_doxygen.cfg rename to projects/amdsmi/docs/amd_smi_doxygen.cfg index 8d54af8e84..75f854615f 100644 --- a/projects/amdsmi/amd_smi/docs/amd_smi_doxygen.cfg +++ b/projects/amdsmi/docs/amd_smi_doxygen.cfg @@ -760,7 +760,7 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../README.md \ - @CMAKE_CURRENT_SOURCE_DIR@/../amd_smi/include/amd_smi.h + @CMAKE_CURRENT_SOURCE_DIR@/../include/amd_smi/amd_smi.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/projects/amdsmi/amd_smi/example/amd_smi_example.cc b/projects/amdsmi/example/amd_smi_example.cc similarity index 99% rename from projects/amdsmi/amd_smi/example/amd_smi_example.cc rename to projects/amdsmi/example/amd_smi_example.cc index 8c9e04269e..195375069e 100644 --- a/projects/amdsmi/amd_smi/example/amd_smi_example.cc +++ b/projects/amdsmi/example/amd_smi_example.cc @@ -47,7 +47,7 @@ #include #include #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #define CHK_AMDSMI_RET(RET) { \ if (RET != AMDSMI_STATUS_SUCCESS) { \ diff --git a/projects/amdsmi/amd_smi/include/amd_smi.h b/projects/amdsmi/include/amd_smi/amd_smi.h similarity index 99% rename from projects/amdsmi/amd_smi/include/amd_smi.h rename to projects/amdsmi/include/amd_smi/amd_smi.h index c1366a92d7..318d8beeba 100644 --- a/projects/amdsmi/amd_smi/include/amd_smi.h +++ b/projects/amdsmi/include/amd_smi/amd_smi.h @@ -51,8 +51,7 @@ extern "C" { #else #include #endif // __cplusplus -#include "rocm_smi/kfd_ioctl.h" - + /** * @brief Initialization flags * @@ -550,11 +549,11 @@ typedef struct { * Event notification event types */ typedef enum { - AMDSMI_EVT_NOTIF_VMFAULT = KFD_SMI_EVENT_VMFAULT, //!< VM page fault + AMDSMI_EVT_NOTIF_VMFAULT = 1, //!< VM page fault AMDSMI_EVT_NOTIF_FIRST = AMDSMI_EVT_NOTIF_VMFAULT, - AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = KFD_SMI_EVENT_THERMAL_THROTTLE, - AMDSMI_EVT_NOTIF_GPU_PRE_RESET = KFD_SMI_EVENT_GPU_PRE_RESET, - AMDSMI_EVT_NOTIF_GPU_POST_RESET = KFD_SMI_EVENT_GPU_POST_RESET, + AMDSMI_EVT_NOTIF_THERMAL_THROTTLE = 2, + AMDSMI_EVT_NOTIF_GPU_PRE_RESET = 3, + AMDSMI_EVT_NOTIF_GPU_POST_RESET = 4, AMDSMI_EVT_NOTIF_LAST = AMDSMI_EVT_NOTIF_GPU_POST_RESET } amdsmi_evt_notification_type_t; diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_common.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_common.h similarity index 100% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_common.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_common.h diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_device.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_device.h similarity index 98% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_device.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_device.h index d81456c5e6..2f736ddc09 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_device.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_device.h @@ -44,7 +44,7 @@ #ifndef AMD_SMI_INCLUDE_AMD_SMI_DEVICE_H_ #define AMD_SMI_INCLUDE_AMD_SMI_DEVICE_H_ -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_drm.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_drm.h similarity index 97% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_drm.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_drm.h index bcb04818d1..b7a1e65025 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_drm.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_drm.h @@ -48,8 +48,8 @@ #include #include #include // NOLINT -#include "amd_smi.h" -#include "impl/amd_smi_lib_loader.h" +#include "amd_smi/amd_smi.h" +#include "amd_smi/impl/amd_smi_lib_loader.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_gpu_device.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_gpu_device.h similarity index 96% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_gpu_device.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_gpu_device.h index 2ad1ca6b29..4d9bfde313 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_gpu_device.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_gpu_device.h @@ -44,9 +44,9 @@ #ifndef AMD_SMI_INCLUDE_IMPL_AMD_SMI_GPU_DEVICE_H_ #define AMD_SMI_INCLUDE_IMPL_AMD_SMI_GPU_DEVICE_H_ -#include "amd_smi.h" -#include "impl/amd_smi_device.h" -#include "impl/amd_smi_drm.h" +#include "amd_smi/amd_smi.h" +#include "amd_smi/impl/amd_smi_device.h" +#include "amd_smi/impl/amd_smi_drm.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_lib_loader.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_lib_loader.h similarity index 98% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_lib_loader.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_lib_loader.h index a89d5c0fc8..8f579f7563 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_lib_loader.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_lib_loader.h @@ -26,7 +26,7 @@ THE SOFTWARE. #include #include #include // NOLINT(build/c++11) -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" namespace amd { diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_socket.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_socket.h similarity index 97% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_socket.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_socket.h index bc0959fa3d..42747d5b44 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_socket.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_socket.h @@ -47,8 +47,8 @@ #include #include #include -#include "amd_smi.h" -#include "impl/amd_smi_device.h" +#include "amd_smi/amd_smi.h" +#include "amd_smi/impl/amd_smi_device.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/include/impl/amd_smi_system.h b/projects/amdsmi/include/amd_smi/impl/amd_smi_system.h similarity index 95% rename from projects/amdsmi/amd_smi/include/impl/amd_smi_system.h rename to projects/amdsmi/include/amd_smi/impl/amd_smi_system.h index 3a1a89f289..d0ccf86003 100644 --- a/projects/amdsmi/amd_smi/include/impl/amd_smi_system.h +++ b/projects/amdsmi/include/amd_smi/impl/amd_smi_system.h @@ -46,10 +46,10 @@ #include #include -#include "amd_smi.h" -#include "impl/amd_smi_socket.h" -#include "impl/amd_smi_device.h" -#include "impl/amd_smi_drm.h" +#include "amd_smi/amd_smi.h" +#include "amd_smi/impl/amd_smi_socket.h" +#include "amd_smi/impl/amd_smi_device.h" +#include "amd_smi/impl/amd_smi_drm.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/include/impl/amdgpu_drm.h b/projects/amdsmi/include/amd_smi/impl/amdgpu_drm.h similarity index 100% rename from projects/amdsmi/amd_smi/include/impl/amdgpu_drm.h rename to projects/amdsmi/include/amd_smi/impl/amdgpu_drm.h diff --git a/projects/amdsmi/oam/CMakeLists.txt b/projects/amdsmi/oam/CMakeLists.txt deleted file mode 100644 index 4eb70221ce..0000000000 --- a/projects/amdsmi/oam/CMakeLists.txt +++ /dev/null @@ -1,120 +0,0 @@ -# -# Minimum version of cmake required -# - -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") -message(" CMake OAM (Library) ") -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") - -## Verbose output. -set(CMAKE_VERBOSE_MAKEFILE on) - -# Required Defines first: - -message("") -message("Build Configuration:") -# message("-----------BuildType: " ${CMAKE_BUILD_TYPE}) -# message("------------Compiler: " ${CMAKE_CXX_COMPILER}) -# message("-------------Version: " ${CMAKE_CXX_COMPILER_VERSION}) -message("--------Proj Src Dir: " ${PROJECT_SOURCE_DIR}) -# message("--------Proj Bld Dir: " ${PROJECT_BINARY_DIR}) -# message("--------Proj Lib Dir: " ${PROJECT_BINARY_DIR}/lib) -# message("--------Proj Exe Dir: " ${PROJECT_BINARY_DIR}/bin) -# message("--------RSMI Lib Dir: " ${RSMI_LIB_DIR}) -# message("--------RSMI Inc Dir: " ${OAM_INC_DIR}) -# message("") - -set(OAM_ROOT "${PROJECT_SOURCE_DIR}/oam") -set(OAM_NAME "oam") -set(OAM_COMPONENT "lib${OAM_NAME}") -set(OAM_TARGET "${OAM_NAME}") - -################# Determine the library version ######################### -set(SO_VERSION_GIT_TAG_PREFIX "oam_so_ver") - -# VERSION_* variables should be set by get_version_from_tag -message("Package version: ${PKG_VERSION_STR}") - -# Debian package specific variables -# Set a default value for the package version -get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) - -# VERSION_* variables should be set by get_version_from_tag -if ( ${ROCM_PATCH_VERSION} ) - set ( VERSION_PATCH ${ROCM_PATCH_VERSION}) - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") -else() - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}") -endif () -set(${OAM_NAME}_VERSION_MAJOR "${VERSION_MAJOR}") -set(${OAM_NAME}_VERSION_MINOR "${VERSION_MINOR}") -set(${OAM_NAME}_VERSION_PATCH "0") -set(${OAM_NAME}_VERSION_BUILD "0") -message("SOVERSION: ${SO_VERSION_STRING}") - - -# Create a configure file to get version info from within library -configure_file( - "${OAM_ROOT}/src/${OAM_TARGET}Config.in" - "${OAM_ROOT}/include/oam/${OAM_TARGET}Config.h") - -set(OAM_SRC_DIR "src") -set(OAM_INC_DIR "include") -set(OAM_DOCS_DIR "docs") - -set(OAM_SRC_LIST ${CMN_SRC_LIST} "${OAM_SRC_DIR}/amd_oam.cc") - -set(OAM_INC_LIST ${COMMON_INC_DIR} "${OAM_INC_DIR}") -set(OAM_EXAMPLE_EXE "oam_ex") - -add_executable(${OAM_EXAMPLE_EXE} "example/oam_example.c") -target_include_directories(${OAM_EXAMPLE_EXE} PRIVATE ${OAM_INC_LIST}) -target_link_libraries(${OAM_EXAMPLE_EXE} ${OAM_TARGET}) -add_library(${OAM_TARGET} ${CMN_SRC_LIST} ${OAM_SRC_LIST} - ${CMN_INC_LIST} ${OAM_INC_LIST}) -target_link_libraries(${OAM_TARGET} pthread rt dl) -target_include_directories(${OAM_TARGET} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}/include ${COMMON_PROJ_ROOT}/common/shared_mutex) - -## Set the VERSION and SOVERSION values -set_property(TARGET ${OAM_TARGET} PROPERTY - SOVERSION "${VERSION_MAJOR}") -set_property(TARGET ${OAM_TARGET} PROPERTY - VERSION "${SO_VERSION_STRING}") - -## If the library is a release, strip the target library -if ("${CMAKE_BUILD_TYPE}" STREQUAL Release) - if(${BUILD_SHARED_LIBS}) #striping only for .so - add_custom_command( - TARGET ${OAM_TARGET} - POST_BUILD COMMAND ${CMAKE_STRIP} lib${OAM_TARGET}.so) - endif() -endif () - -# use the target_include_directories() command to specify the include directories for the target -target_include_directories(${OAM_TARGET} - PUBLIC - "$" - "$") - - -## Add the install directives for the runtime library. -install(TARGETS ${OAM_TARGET} - EXPORT rocm_smiTargets - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - COMPONENT ${OAM_COMPONENT}) -install(FILES ${COMMON_SRC_ROOT}/oam/include/oam/oam_mapi.h - ${COMMON_SRC_ROOT}/oam/include/oam/amd_oam.h - DESTINATION include/oam) - -# Generate Doxygen documentation -if (DOXYGEN_FOUND) - configure_file(${OAM_DOCS_DIR}/docs/rsmi_doxygen.cfg - ${OAM_DOCS_DIR}/Doxyfile @ONLY) - add_custom_target(doc - ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating AMD OAM API documentation with Doxygen" VERBATIM) -endif(DOXYGEN_FOUND) - diff --git a/projects/amdsmi/oam/example/oam_example.c b/projects/amdsmi/oam/example/oam_example.c deleted file mode 100644 index 232fd205af..0000000000 --- a/projects/amdsmi/oam/example/oam_example.c +++ /dev/null @@ -1,128 +0,0 @@ -#include -#include "oam/oam_mapi.h" -#include "oam/amd_oam.h" - -const oam_ops_t amd_oam_ops = { - .init = amdoam_init, - .free = amdoam_free, -// .get_mapi_version = amdoam_get_mapi_version, - .discover_devices = amdoam_discover_devices, - .get_dev_properties = amdoam_get_dev_properties, - .get_pci_properties = amdoam_get_pci_properties, - .get_sensors_count = amdoam_get_sensors_count, - .get_error_description = amdoam_get_error_description, - .get_sensors_info = amdoam_get_sensors_info, -}; - -static int get_sensor_info(uint32_t device_id, oam_sensor_type_t type, - uint32_t num_sensors, char unit[]) { - uint32_t j; - oam_sensor_info_t *sensor_info = calloc(num_sensors, - sizeof(oam_sensor_info_t)); - if (!sensor_info) { - printf("Allocating power_info failed\n"); - return -1; - } - amd_oam_ops.get_sensors_info(device_id, type, num_sensors, sensor_info); - for ( j = 0; j < num_sensors ; j++) { - printf("\tSensor Name : %s \n", sensor_info[j].sensor_name); - printf("\tSensor Type : %d \n", sensor_info[j].sensor_type); - printf("\tSensor Value : %ld %s\n", sensor_info[j].value, unit); - } - free(sensor_info); - printf("\t**************************************\n"); - return 0; -} - -int main() -{ - uint32_t dev_cnt = 0; - oam_mapi_version_t version; - oam_dev_properties_t *devs_prop; - int i; - oam_pci_info_t pci_info; - oam_sensor_count_t sensor_count; - const char *string; - - if (amd_oam_ops.init()) { - printf("init failed\n"); - return -1; - } - -// amd_oam_ops.get_mapi_version(&version); - if (!amd_oam_ops.discover_devices(&dev_cnt)) - printf("%d AMD devices are discovered\n", dev_cnt); - if (!dev_cnt) { - printf("No devices are found.\n"); - return amd_oam_ops.free(); - } - devs_prop = calloc(dev_cnt, sizeof(oam_dev_properties_t)); - if (!devs_prop) { - printf("Allocating dev_prop failed\n"); - return amd_oam_ops.free(); - } - - amd_oam_ops.get_dev_properties(dev_cnt, devs_prop); - for (i = 0; i < dev_cnt; i++) { - printf("Device %d:\n", i); - printf("\tdevice id %d\n", devs_prop[i].device_id); - printf("\tdevice_vendor %s\n", devs_prop[i].device_vendor); - printf("\tdevice_name %s\n", devs_prop[i].device_name); - printf("\tsku_name %s\n", devs_prop[i].sku_name); - printf("\tboard_name %s\n", devs_prop[i].board_name); - printf("\tboard_revision %s\n", devs_prop[i].board_revision); - printf("\tboard_serial_number %s\n", - devs_prop[i].board_serial_number); - - if (!amd_oam_ops.get_pci_properties( - devs_prop[i].device_id, &pci_info)) { - printf("\tPCI domain : 0x%d \n", pci_info.domain); - printf("\tPCI bus : 0x%d \n", pci_info.bus); - printf("\tPCI device : 0x%d \n", pci_info.device); - printf("\tPCI function : 0x%d \n", pci_info.function); - } - - printf("\t**************************************\n"); - if (amd_oam_ops.get_sensors_count( - devs_prop[i].device_id, &sensor_count)) - continue; - printf("\tNumber of Power Sensors : %d \n", - sensor_count.num_power_sensors); - if (get_sensor_info(devs_prop[i].device_id,OAM_SENSOR_TYPE_POWER, - sensor_count.num_power_sensors, "uW")) - goto failure; - - printf("\tNumber of Voltage Sensors : %d \n", - sensor_count.num_voltage_sensors); - if (get_sensor_info(devs_prop[i].device_id, OAM_SENSOR_TYPE_VOLTAGE, - sensor_count.num_voltage_sensors, "mV")) - goto failure; - - printf("\tNumber of Current Sensors : %d \n", - sensor_count.num_current_sensors); - if (get_sensor_info(devs_prop[i].device_id, OAM_SENSOR_TYPE_CURRENT, - sensor_count.num_current_sensors, "A")) - goto failure; - - printf("\tNumber of Temperature Sensors : %d \n", - sensor_count.num_temperature_sensors); - if (get_sensor_info(devs_prop[i].device_id, OAM_SENSOR_TYPE_TEMP, - sensor_count.num_temperature_sensors, "mC")) - goto failure; - - printf("\tNumber of Fan Sensors : %d \n", sensor_count.num_fans); - if (get_sensor_info(devs_prop[i].device_id, OAM_SENSOR_TYPE_FAN_SPEED, - sensor_count.num_fans, "rpm")) - goto failure; - } - - amd_oam_ops.get_error_description(1, &string); - printf("error code 1: %s\n", string); - -failure: - free(devs_prop); - amd_oam_ops.free(); - - return 0; -} - diff --git a/projects/amdsmi/oam/include/oam/amd_oam.h b/projects/amdsmi/oam/include/oam/amd_oam.h deleted file mode 100755 index 5c0a778200..0000000000 --- a/projects/amdsmi/oam/include/oam/amd_oam.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2020 Open Compute Project - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef OAM_INCLUDE_OAM_AMD_OAM_H_ -#define OAM_INCLUDE_OAM_AMD_OAM_H_ - -#ifdef __cplusplus -extern "C" { -#include -#else -#include -#endif // __cplusplus - -#include "oam/oam_mapi.h" - -typedef enum { - AMDOAM_STATUS_SUCCESS = 0x0, - /* copy RSMI errors */ - AMDOAM_STATUS_INVALID_ARGS, - AMDOAM_STATUS_NOT_SUPPORTED, - AMDOAM_STATUS_FILE_ERROR, - AMDOAM_STATUS_PERMISSION, - AMDOAM_STATUS_OUT_OF_RESOURCES, - AMDOAM_STATUS_INTERNAL_EXCEPTION, - AMDOAM_STATUS_INPUT_OUT_OF_BOUNDS, - AMDOAM_STATUS_INIT_ERROR, - /* end of RSMI error code */ - AMDOAM_STATUS_ERROR, // Generic error return if not otherwise specified - AMDOAM_STATUS_NOT_FOUND, -} amdoam_status_t; - -int amdoam_init(void); -int amdoam_free(void); -// int amdoam_get_mapi_version(oam_mapi_version_t *version); -int amdoam_discover_devices(uint32_t *device_count); -int amdoam_get_dev_properties(uint32_t dev_inx, - oam_dev_properties_t *prop); -int amdoam_get_pci_properties(uint32_t device_id, oam_pci_info_t *pci_info); -int amdoam_get_sensors_count(uint32_t device_id, - oam_sensor_count_t *sensor_count); -int amdoam_get_error_description(int code, const char **description); -int amdoam_get_sensors_info(uint32_t device_id, oam_sensor_type_t type, - uint32_t num_sensors, oam_sensor_info_t sensor_info[]); - -#ifdef __cplusplus -} -#endif // __cplusplus -#endif // OAM_INCLUDE_OAM_AMD_OAM_H_ diff --git a/projects/amdsmi/oam/include/oam/oam_mapi.h b/projects/amdsmi/oam/include/oam/oam_mapi.h deleted file mode 100755 index 2500b65bb4..0000000000 --- a/projects/amdsmi/oam/include/oam/oam_mapi.h +++ /dev/null @@ -1,635 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2020 Open Compute Project - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef OAM_INCLUDE_OAM_OAM_MAPI_H_ -#define OAM_INCLUDE_OAM_OAM_MAPI_H_ - -/** - * \file oam_mapi.h - * \brief OAM management and monitoring library API definitions - */ - -#if defined(__cplusplus) -extern "C" { -#endif - -#include -#include -#include - -/** - * \struct oam_mapi_version_t - * \brief OAM library API version - * \details TBD - * All the libraries versions are expected to be backward compatible. - * The major version increment indicates a new API has been added. - * Minor version increment indicates an interface change. - */ -typedef struct oam_mapi_version { - uint32_t major; - uint32_t minor; -} oam_mapi_version_t; - -/** - * \struct oam_dev_properties_t - * \brief Network identifier for the device - * \details Immutable network identifier for the device. - * This is unique across the entire network. - */ -typedef struct oam_net_dev_id { - /*!< unique network identifier for the device */ - int network_id; -} oam_net_dev_id_t; - -/* - * various lengths for device properties - */ -#define DEVICE_VENDOR_LEN 128 -#define DEVICE_NAME_LEN 128 -#define DEVICE_SKU_LEN 128 -#define BOARD_NAME_LEN 128 -#define BOARD_REVISION_LEN 128 -#define BOARD_SERIAL_NUM_LEN 128 - -/** - * \struct oam_dev_properties_t - * \brief TBD - * \details TBD - */ -typedef struct oam_dev_properties { - /*!< Immutable local identifier for the device */ - uint32_t device_id; - /*!< vendor name */ - char device_vendor[DEVICE_VENDOR_LEN]; - /*!< Device name */ - char device_name[DEVICE_NAME_LEN]; - /*!< SKU name */ - char sku_name[DEVICE_SKU_LEN]; - /*!< Board name */ - char board_name[BOARD_NAME_LEN]; - /*!< Board revision */ - char board_revision[BOARD_REVISION_LEN]; - /*!< - * Board Serial Number or UUID any other identifier, which can be used - * to identify devices uniquely and physically. - */ - char board_serial_number[BOARD_SERIAL_NUM_LEN]; -} oam_dev_properties_t; - -/** - * \struct oam_sensor_count_t - * \brief TBD - * \details TBD - * Various sensor related information - */ -typedef struct oam_sensor_count { - uint32_t num_temperature_sensors; - uint32_t num_power_sensors; - uint32_t num_voltage_sensors; - uint32_t num_current_sensors; - uint32_t num_fans; -} oam_sensor_count_t; - -/** - * \enum oam_sensor_type_t - * \brief Sensor types - * \details This enumerated type defines available sensors types. - */ -typedef enum oam_sensor_type { - OAM_SENSOR_TYPE_POWER = 0, - OAM_SENSOR_TYPE_VOLTAGE, - OAM_SENSOR_TYPE_CURRENT, - OAM_SENSOR_TYPE_TEMP, - OAM_SENSOR_TYPE_FAN_SPEED, - OAM_SENSOR_TYPE_UNKNOWN -} oam_sensor_type_t; - -/** - * \enum oam_power_sensor_scale_t - * \brief scale for power measurements - * \details This enumerated type defines available scales for power measurements - */ -typedef enum oam_power_sensor_scale { - OAM_POWER_SCALE_uW = 0, - OAM_POWER_SCALE_mW, - OAM_POWER_SCALE_W, -} oam_power_sensor_scale_t; - -/** - * \enum oam_voltage_sensor_scale_t - * \brief scale for voltage measurements - * \details This enumerated type defines available scales for voltage measurements - */ -typedef enum oam_voltage_sensor_scale { - OAM_VOLTAGE_SCALE_uV = 0, - OAM_VOLTAGE_SCALE_mV, - OAM_VOLTAGE_SCALE_V, -} oam_voltage_sensor_scale_t; - -/** - * \enum oam_current_sensor_scale_t - * \brief scale for current measurements - * \details This enumerated type defines available scales for current measurements - */ -typedef enum oam_current_sensor_scale { - OAM_CURRENT_SCALE_uA = 0, - OAM_CURRENT_SCALE_mA, - OAM_CURRENT_SCALE_A, -} oam_current_sensor_scale_t; - -/** - * \enum oam_temp_sensor_scale_t - * \brief scale for temp measurements - * \details This enumerated type defines available scales for temp measurements - */ -typedef enum oam_temp_sensor_scale { - OAM_TEMP_SCALE_C = 0, - OAM_TEMP_SCALE_F -} oam_temp_sensor_scale_t; - -/** - * \enum oam_fan_sensor_scale_t - * \brief scale for power measurements - * \details This enumerated type defines available scales for power measurements - */ -typedef enum oam_fan_sensor_scale { - OAM_FAN_SPEED_Hz = 0, - OAM_FAN_SPEED_KHz, - OAM_FAN_SPEED_MHz -} oam_fan_sensor_scale_t; - -typedef union oam_sensor_scale { - oam_power_sensor_scale_t power_scale; - oam_voltage_sensor_scale_t volate_scale; - oam_current_sensor_scale_t current_scale; - oam_temp_sensor_scale_t temp_scale; - oam_fan_sensor_scale_t fan_scale; -} oam_sensor_scale_t; - -/** - * \struct oam_dev_handle_t - * \brief Device handle - * \details Device handle obtained using open call - * The same handle is used by all the APIs which are used to perform - * specific operation on that device. - */ -typedef struct oam_dev_handle { - void *handle; -} oam_dev_handle_t; - -/** - * \enum oam_dev_mode_t - * \brief Device open modes - * \details This enumerated type defines modes in which the device can be opened - * For some operations e.g. health check user should open the device - * in exclusive mode, so that if there are many applications using the same - * device there are no side effects. - */ -typedef enum oam_dev_mode { - OAM_DEV_MODE_EXCLUSIVE = 0, - OAM_DEV_MODE_NONEXLUSIVE = 1, - OAM_DEV_MODE_UNKNOWN = 0xFF -} oam_dev_mode_t; - -/** - * \def OAM_SENSOR_NAME_MAX - * \brief length of sensor name - */ -#define OAM_SENSOR_NAME_MAX 256 - -/** - * \struct oam_sensor_info_t - * \brief Sensor information - * \details Structure to store various info of sensors. - */ -typedef struct oam_sensor_info { - char sensor_name[OAM_SENSOR_NAME_MAX]; - oam_sensor_type_t sensor_type; - oam_sensor_scale_t scale; - int64_t value; -} oam_sensor_info_t; - -/** - * \struct oam_dev_error_count_t - * \brief Device error information - * \details Various types of errors reported by device. - */ -typedef struct oam_dev_error_count { - uint32_t total_error_count; - uint32_t fatal_error_count; - uint32_t unknown_error_count; - uint32_t ecc_error_count; -} oam_dev_error_count_t; - -/** - * \struct oam_firmware_version_t - * \brief Device error information - * \details Structure to store various firmware versions of OAM module - */ -typedef struct oam_firmware_version { - oam_mapi_version_t device_boot_fw_version; - oam_mapi_version_t device_fw_version; - oam_mapi_version_t board_boot_fw_version; - oam_mapi_version_t board_fw_version; -} oam_firmware_version_t; - -/** - * \struct oam_pci_info_t - * \brief PCI information for the device - * \details Structure to store PCI (Domain, BDF) information of the device - */ -typedef struct oam_pci_info { - uint16_t domain; - uint8_t bus; - uint8_t device; - uint8_t function; -} oam_pci_info_t; - -/** - * \enum oam_net_port_state_t - * \brief Network port state - * \details This enumerated type defines various states of the network port - */ -typedef enum oam_net_port_state { - OAM_NET_PORT_DISABLED = 0, - OAM_NET_PORT_ENABLED = 1 -} oam_net_port_state_t; - -/** - * \enum oam_net_port_status_t - * \brief Network port status - * \details This enumerated type defines various status of the network port - */ -typedef enum oam_net_port_status { - OAM_NET_PORT_UP = 0, - OAM_NET_PORT_DOWN = 1, -} oam_net_port_status_t; - -/** - * \enum oam_net_port_id_t - * \brief Network port identifiers - * \details This enumerated type defines various identifiers for network ports - */ -typedef enum oam_net_port_id { - OAM_NET_PORT0 = 0, - OAM_NET_PORT1 = 1, - OAM_NET_PORT2 = 2, - OAM_NET_PORT_MAX = 0xFFFF -} oam_net_port_id_t; - -/** - * \enum oam_firmware_modes_t - * \brief Supported mode to update firmware on device - * \details This enumerated type defines various modes which are supported by - * the device to update firmware. - */ -typedef enum oam_firmware_modes { - OAM_DOWNLOAD_ONLY = 0, - OAM_DOWNLOAD_ACTIVATE = 1 -} oam_firmware_modes_t; - -/** - * \def OAM_NET_PORT_NAME - * \brief length of network port name - */ -#define OAM_NET_PORT_NAME 256 - -/** - * \struct oam_net_port_desc - * \brief Network port description - * \details Structure to store additional details about the network port - */ -typedef struct oam_net_port_desc { - char name[OAM_NET_PORT_NAME]; -} oam_net_port_desc_t; - -/** - * \def OAM_DEV_HOST_NAME - * \brief length of host name - */ -#define OAM_DEV_HOST_NAME 256 - -/** - * \struct oam_net_dev_info_t - * \brief Information about the device on a network - * \details Structure to store additional details about the network device - * on a particular network. - */ -typedef struct oam_net_dev_info { - oam_net_dev_id_t net_dev_id; - char host_name[OAM_DEV_HOST_NAME]; - oam_pci_info_t pci_info; -} oam_net_dev_info_t; - -/** - * \struct oam_neighbour_info_t - * \brief Information about device neighburs - * \details Structure to store information about device neighbours on the - * network - */ -typedef struct oam_neighbour_info { - oam_net_port_id_t device_port; - oam_net_dev_info_t device_info; -} oam_neighbour_info_t; - -/** - * \enum oam_dev_tpc_id_t - * \brief TPC identifiers - * \details This enumerated type defines various identifiers for TPCs - */ -typedef enum oam_dev_tpc_id { - OAM_DEV_TPC0, - OAM_DEV_TPC1, - OAM_DEV_TPC2, - OAM_DEV_TPC_MAX -} oam_dev_tpc_id_t; - -/** - * \def OAM_TPC_NAME - * \brief length of TPC name - */ -#define OAM_TPC_NAME 256 - -/** - * \struct oam_tpc_desc_t - * \brief TPC description - * \details Structure to store information about TPC e.g. name corresponding - * to the id etc. - */ -typedef struct oam_tpc_desc { - char name[256]; -} oam_tpc_desc_t; - -/** - * \struct oam_dev_tpc_stats_t - * \brief TPC statistical information - * \details Structure to store information about TPC statistical information - * e.g. TPC utilization - */ -typedef struct oam_dev_tpc_stats { - double util; -} oam_dev_tpc_stats_t; - -/** - * \enum oam_dev_mem_id_t - * \brief Device memory identifiers - * \details This enumerated type defines various identifiers for device memories - */ -typedef enum oam_dev_mem_id { - OAM_DEV_MEM0, - OAM_DEV_MEM1, - OAM_DEV_MEM2, - OAM_DEV_MEM_MAX -} oam_dev_mem_id_t; - -/** - * \struct oam_mem_desc_t - * \brief Device memory description - * \details Structure to store additional details about device memories port - */ -typedef struct oam_mem_desc { - char name[256]; -} oam_mem_desc_t; - -/** - * \struct oam_dev_mem_stats_t - * \brief Device memory statistical information - * \details Structure to store various statastical information about device - * memory. - */ -typedef struct oam_dev_mem_stats { - uint32_t total_mem; - uint32_t allocated_mem; - uint32_t free_mem; -} oam_dev_mem_stats_t; - -/** - * \struct oam_net_port_pkt_stats_t - * \brief Device network port statistical information - * \details Structure to store various statastical information about the network - * packets on a given port. - */ -typedef struct oam_net_port_pkt_stats { - uint64_t rx_count; - uint64_t tx_count; - uint64_t rx_errors; - uint64_t tx_errors; -} oam_net_port_pkt_stats_t; - -/** - * \struct oam_ops_t - * \brief OAM Device operations - * \details Structure provides list of APIs which needs to be - * supported by the OAM library. - */ -typedef struct oam_ops { - /*!< - * to initialise library instance and perform version compatibility - * check - */ - int (*init)(void); - int (*free)(void); - - /*!< - * To get error description from the error code - */ - int (*get_error_description)(int error_code, const char **error_description); - - /*!< - * To retrieve the OAM Management interface version - */ - int (*get_mapi_version)(oam_mapi_version_t *version); - - /*!< - * To retrieve the number of devices present/discovered by the library - */ - int (*discover_devices)(uint32_t *device_count); - - /*!< - * To retrieve device properties for each discovered devices - */ - int (*get_dev_properties)(uint32_t device_count, - oam_dev_properties_t *devices); - - /*!< - * To retrieve PCI properties of the device - */ - int (*get_pci_properties)(uint32_t device_id, oam_pci_info_t *pci_info); - - /*!< - * To query the number of various sensors present - */ - int (*get_sensors_count)(uint32_t device_id, - oam_sensor_count_t *sensor_count); - - /*!< - * Open the device and obtain handle - */ - int (*open_device)(uint32_t *dev_id, oam_dev_mode_t mode, - oam_dev_handle_t *handle); - int (*close_device)(oam_dev_handle_t *handle); - - - /*!< - * To read various sensor values for a given sensor type - */ - int (*get_sensors_info)(uint32_t device_id, - oam_sensor_type_t type, - uint32_t num_sensors, - oam_sensor_info_t sensor_info[]); - /*!< - * To read current error count of the device - */ - int (*get_device_error_count)(oam_dev_handle_t *handle, - oam_dev_error_count_t *count); - - /*!< - * To update firmware on the device - * fw_image contains a null terminated string which specifies complete - * path where the firmware image is located - */ - int (*download_firmware)(uint32_t *device_id, char *fw_image, - oam_firmware_modes_t mode); - - /*!< - * To query firmware versions - */ - int (*get_firmware_version)(uint32_t *device_id, - oam_firmware_version_t *version); - - - /*!< - * to get network id from device id - */ - int (*get_net_dev_id)(uint32_t *device_id, oam_net_dev_id_t *net_device); - - /*!< - * Network management APIs. - */ - - /*!< - * discover network. - */ - int (*discover_network)(int *net_dev_count); - int (*get_dev_net_properties)(oam_net_dev_info_t *net_dev_info); - - int (*get_neighbour_count)(uint32_t *device, - oam_net_port_id_t local_port_id, - uint32_t *neighbor_count); - - int (*get_neighbours_info)(uint32_t *device, - oam_net_port_id_t local_port_id, - uint32_t *neighbors_count, - oam_neighbour_info_t *neighbours_info); - - int (*configure_network)(oam_net_dev_id_t *net_devices, - uint32_t *net_device_count, - char *network_name); - - int (*destroy_network)(char *network_name); - - int (*query_network)(char *network_name, oam_net_dev_info_t *devices, - uint32_t *device_count); - - int (*get_network_count)(uint32_t *network_count); - int (*list_networks)(char *network_names[]); - - /*!< - * Various statistics related to blocks - */ - - /*!< - * To query number of ports - */ - int (*get_net_port_count)(oam_dev_handle_t *handle, uint32_t *count, - oam_net_port_id_t *port_ids); - - int (*get_net_port_desc)(oam_dev_handle_t *handle, oam_net_port_id_t *port, - oam_net_port_desc_t *desc); - - int (*get_net_port_state)(oam_dev_handle_t *handle, oam_net_port_id_t *port, - oam_net_port_state_t *state); - - int (*check_net_port_status)(oam_dev_handle_t *handle, - oam_net_port_id_t *port, - oam_net_port_status_t *status); - int (*get_net_port_pkt_stats)(oam_dev_handle_t *handle, - oam_net_port_id_t *port, - uint32_t duration_sec, - oam_net_port_pkt_stats_t *stats); - - int (*query_net_port_bandwidth)(oam_dev_handle_t *handle, - oam_net_port_id_t *port, - uint32_t duration_sec, - double *bandwidth); - - int (*get_tpc_count)(oam_dev_handle_t *handle, uint32_t *count, - oam_dev_tpc_id_t *tpc_ids); - - int (*get_tpc_desc)(oam_dev_handle_t *handle, oam_dev_tpc_id_t *tpc_id, - oam_tpc_desc_t *desc); - - int (*get_tpc_stats)(oam_dev_handle_t *handle, - oam_dev_tpc_id_t *port, - oam_dev_tpc_stats_t *stats, - uint32_t duration_sec); - - int (*get_mem_count)(oam_dev_handle_t *handle, uint32_t *count, - oam_dev_mem_id_t *mem_ids); - - int (*get_mem_desc)(oam_dev_handle_t *handle, oam_dev_mem_id_t *tpc_id, - oam_mem_desc_t *desc); - - int (*get_mem_stats)(oam_dev_handle_t *handle, oam_dev_mem_id_t *mem_id, - oam_dev_mem_stats_t *stats); - - /*!< - * To check the health of the individual components, libraries - * generates test workload to check if the block is functioning properly - * or not. So no other workload should be running while calling these - * APIs - */ - int (*check_tpc_health)(uint32_t *device_id, oam_dev_tpc_id_t *tpc_id); - int (*check_net_port_health)(uint32_t *device_id, oam_net_port_id_t *port); - int (*check_mem_health)(uint32_t *device_id, oam_dev_mem_id_t *port); - - /* - * Following needs more attention, will work on in next - int (*get_fan_speed)(oam_dev_t *oam); - int (*set_fan_speed)(oam_dev_t *oam, int speed); - - int (*get_power_cap)(oam_dev_t *oam); - int (*set_power_cap)(oam_dev_t *oam, int power); - - int (*get_telemetry)(oam_dev_t *oam); - */ - -} oam_ops_t; - - -#ifdef __cplusplus -} -#endif - -#endif // OAM_INCLUDE_OAM_OAM_MAPI_H_ diff --git a/projects/amdsmi/oam/src/amd_oam.cc b/projects/amdsmi/oam/src/amd_oam.cc deleted file mode 100755 index 1262fcc9e8..0000000000 --- a/projects/amdsmi/oam/src/amd_oam.cc +++ /dev/null @@ -1,392 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2020 Open Compute Project - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include -#include -#include -#include -#include -#include // NOLINT -#include - -#include "rocm_smi/rocm_smi_common.h" -#include "rocm_smi/rocm_smi_main.h" -#include "rocm_smi/rocm_smi_device.h" -#include "rocm_smi/rocm_smi_utils.h" -#include "rocm_smi/rocm_smi_exception.h" -#include "rocm_smi/rocm_smi_counters.h" -#include "rocm_smi/rocm_smi_kfd.h" -#include "rocm_smi/rocm_smi.h" - -#include "oam/oam_mapi.h" -#include "oam/amd_oam.h" - -static const std::map err_map = { - { AMDOAM_STATUS_INVALID_ARGS, "Invalid arguments" }, - { AMDOAM_STATUS_NOT_SUPPORTED, "Feature not supported" }, - { AMDOAM_STATUS_FILE_ERROR, "Problem accessing a file" }, - { AMDOAM_STATUS_PERMISSION, "Permission denied" }, - { AMDOAM_STATUS_OUT_OF_RESOURCES, "Not enough memory or other resource" }, - { AMDOAM_STATUS_INTERNAL_EXCEPTION, "An internal exception was caught" }, - { AMDOAM_STATUS_INPUT_OUT_OF_BOUNDS, - "The provided input is out of allowable or safe range" }, - { AMDOAM_STATUS_INIT_ERROR, "AMDOAM is not initialized or init failed" }, - { AMDOAM_STATUS_ERROR, "Generic error" }, - { AMDOAM_STATUS_NOT_FOUND, "An item was searched for but not found" } -}; - -#define TRY try { -#define CATCH } catch (...) {return handleRSMIException();} - -static bool rsmi_initialized; - -static int rsmi_status_to_amdoam_errorcode(rsmi_status_t status) { - if (status > RSMI_STATUS_INIT_ERROR) - return -AMDOAM_STATUS_ERROR; - else - return -1 * static_cast(status); -} - -static int handleRSMIException() { - rsmi_status_t ret = amd::smi::handleException(); - return rsmi_status_to_amdoam_errorcode(ret); -} - -int amdoam_get_error_description(int code, const char **description) { - if (description == nullptr) - return -AMDOAM_STATUS_INVALID_ARGS; - - auto search = err_map.find(code); - if (search == err_map.end()) - return -AMDOAM_STATUS_NOT_FOUND; - - *description = search->second; - return AMDOAM_STATUS_SUCCESS; -} - -int amdoam_init(void) { - TRY - - rsmi_status_t status = rsmi_init(0); - - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - - rsmi_initialized = true; - return AMDOAM_STATUS_SUCCESS; - - CATCH -} - -int amdoam_free(void) { - rsmi_status_t status = rsmi_shut_down(); - - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - - return AMDOAM_STATUS_SUCCESS; -} - -int amdoam_discover_devices(uint32_t *device_count) { - rsmi_status_t status; - - if (device_count == nullptr) { - return -AMDOAM_STATUS_INVALID_ARGS; - } - - status = rsmi_num_monitor_devices(device_count); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - - return AMDOAM_STATUS_SUCCESS; -} - -int amdoam_get_pci_properties(uint32_t device_id, oam_pci_info_t *pci_info) { - uint64_t bdfid; - - TRY - if (pci_info == nullptr) { - return -AMDOAM_STATUS_INVALID_ARGS; - } - - rsmi_status_t status = rsmi_dev_pci_id_get(device_id, &bdfid); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - - pci_info->domain = (uint16_t)(bdfid >> 32) & 0xffff; - pci_info->bus = (bdfid >> 8) & 0xff; - pci_info->device = (bdfid >> 3) & 0x1f; - pci_info->function = bdfid & 0x7; - CATCH - - return AMDOAM_STATUS_SUCCESS; -} - -int amdoam_get_dev_properties(uint32_t num_devices, - oam_dev_properties_t *devices) { - const size_t buf_size = 32; - char buf[buf_size] = ""; - uint32_t dev_inx; - oam_dev_properties_t *dev = devices; - -TRY - if (devices == nullptr) - return -AMDOAM_STATUS_INVALID_ARGS; - if (!rsmi_initialized) - return -AMDOAM_STATUS_INIT_ERROR; - - for (dev_inx = 0; dev_inx < num_devices; dev_inx++) { - dev->device_id = dev_inx; - /* If fails to get any following properties, it's not treated as a deal - * breaker. Variable not filled means that property is not available on - * this device or AMD doesn't support that property. - */ - rsmi_dev_vendor_name_get(dev_inx, dev->device_vendor, DEVICE_VENDOR_LEN); - rsmi_dev_name_get(dev_inx, dev->device_name, DEVICE_NAME_LEN); - rsmi_dev_vbios_version_get(dev_inx, buf, buf_size); - if (std::strlen(buf) > 0) { - std::strncpy(dev->sku_name, &buf[4], 6); - std::strncpy(dev->board_name, buf, 12); - } - rsmi_dev_serial_number_get(dev_inx, dev->board_serial_number, - BOARD_SERIAL_NUM_LEN); - ++dev; - } -CATCH - - return AMDOAM_STATUS_SUCCESS; -} - -static uint32_t -get_num_sensors(std::string hwmon_path, std::string fn_reg) { - uint32_t sensor_max = 0; - std::string fn_reg_ex = "\\b" + fn_reg + "([0-9]+)([^ ]*)"; - std::string fn; - std::smatch m; - int32_t temp = 0; - std::string s1("in"); - std::regex re(fn_reg_ex); - auto hwmon_dir = opendir(hwmon_path.c_str()); - assert(hwmon_dir != nullptr); - auto dentry = readdir(hwmon_dir); - while (dentry != nullptr) { - fn = dentry->d_name; - if (std::regex_search(fn, m, re)) { - std::string output = std::regex_replace( - fn, - std::regex("[^0-9]*([0-9]+).*"), - std::string("$1")); - temp = stoi(output); - - assert(temp >= 0); - - if (s1.compare(fn_reg) == 0) - ++temp; - if (static_cast(temp) > sensor_max) - sensor_max = static_cast(temp); - } - dentry = readdir(hwmon_dir); - } - - closedir(hwmon_dir); - return sensor_max; -} - - -int amdoam_get_sensors_count(uint32_t device_id, - oam_sensor_count_t *sensor_count) { - uint32_t dv_ind = device_id; - - TRY - if (sensor_count == nullptr) - return -AMDOAM_STATUS_INVALID_ARGS; - GET_DEV_FROM_INDX - assert(dev->monitor() != nullptr); - std::string hwmon_path = dev->monitor()->path(); - sensor_count->num_temperature_sensors = get_num_sensors(hwmon_path, "temp"); - sensor_count->num_fans = get_num_sensors(hwmon_path, "fan"); - sensor_count->num_voltage_sensors = get_num_sensors(hwmon_path, "in"); - sensor_count->num_power_sensors = get_num_sensors(hwmon_path, "power"); - sensor_count->num_current_sensors = get_num_sensors(hwmon_path, "current"); - CATCH - - return AMDOAM_STATUS_SUCCESS; -} - -int amdoam_get_sensors_info(uint32_t device_id, oam_sensor_type_t type, - uint32_t num_sensors, oam_sensor_info_t sensor_info[]) { - uint32_t dv_ind = device_id; - std::string val_str; - uint32_t i; - rsmi_status_t status; - - TRY - if ((sensor_info == nullptr) || (type >= OAM_SENSOR_TYPE_UNKNOWN)) - return -AMDOAM_STATUS_INVALID_ARGS; - GET_DEV_FROM_INDX - assert(dev->monitor() != nullptr); - switch (type) { - case OAM_SENSOR_TYPE_POWER: - for (i = 0; i < num_sensors; i++) { - snprintf(sensor_info[i].sensor_name, OAM_SENSOR_NAME_MAX, - "POWER_SENSOR_%d", i+1); - sensor_info[i].sensor_type = type; - status = rsmi_dev_power_ave_get(device_id, i, - reinterpret_cast(&sensor_info[i].value)); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - } - break; - - case OAM_SENSOR_TYPE_VOLTAGE: - for (i = 0; i < num_sensors; i++) { - snprintf(sensor_info[i].sensor_name, OAM_SENSOR_NAME_MAX, - "VOLTAGE_SENSOR_%d", i); - sensor_info[i].sensor_type = type; - status = rsmi_dev_volt_metric_get(device_id, RSMI_VOLT_TYPE_VDDGFX, - RSMI_VOLT_CURRENT, &sensor_info[i].value); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - } - break; - - case OAM_SENSOR_TYPE_TEMP: - for (i = 0; i < num_sensors; i++) { - snprintf(sensor_info[i].sensor_name, OAM_SENSOR_NAME_MAX, - "TEMP_SENSOR_%d", i+1); - sensor_info[i].sensor_type = type; - status = rsmi_dev_temp_metric_get(device_id, i, RSMI_TEMP_CURRENT, - &sensor_info[i].value); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - } - break; - - case OAM_SENSOR_TYPE_FAN_SPEED: - for (i = 0; i < num_sensors; i++) { - snprintf(sensor_info[i].sensor_name, OAM_SENSOR_NAME_MAX, - "FAN_SENSOR_%d", i+1); - sensor_info[i].sensor_type = type; - status = rsmi_dev_fan_speed_get(device_id, i, &sensor_info[i].value); - if (status != RSMI_STATUS_SUCCESS) - return rsmi_status_to_amdoam_errorcode(status); - } - break; - - default: - return -AMDOAM_STATUS_NOT_SUPPORTED; - } - CATCH - - return AMDOAM_STATUS_SUCCESS; -} - -// TODO(x): This function doesn't work for OAM. It's just a version -// of rsmi_dev_ecc_count_get(), which has similar functionality. -// The purpose here is just to drive refactoring; e.g., making macros -// available and previously static functions global. -int -get_device_error_count(oam_dev_handle_t *handle, - oam_dev_error_count_t *count) { - std::vector val_vec; - rsmi_status_t ret; - - TRY - // TODO(x): replace with final code... - // Below, we are just returning errors for RSMI_GPU_BLOCK_GFX as a - // placeholder - (void)handle; // Just ignore for now - - rsmi_gpu_block_t block = RSMI_GPU_BLOCK_GFX; - - // The macro CHK_SUPPORT_VAR assumes the existence of a device index variable - // "dv_ind". Presumably, the device index will come from the "handle" - // pointer. Since I don't know how that will be implemented, for now we - // will just make up a device index: - uint32_t dv_ind = 0; - CHK_SUPPORT_VAR(count, block) - - amd::smi::DevInfoTypes type; - switch (block) { - case RSMI_GPU_BLOCK_UMC: - type = amd::smi::kDevErrCntUMC; - break; - - case RSMI_GPU_BLOCK_SDMA: - type = amd::smi::kDevErrCntSDMA; - break; - - case RSMI_GPU_BLOCK_GFX: - type = amd::smi::kDevErrCntGFX; - break; - - case RSMI_GPU_BLOCK_MMHUB: - type = amd::smi::kDevErrCntMMHUB; - break; - - case RSMI_GPU_BLOCK_PCIE_BIF: - type = amd::smi::kDevErrCntPCIEBIF; - break; - - case RSMI_GPU_BLOCK_HDP: - type = amd::smi::kDevErrCntHDP; - break; - - case RSMI_GPU_BLOCK_XGMI_WAFL: - type = amd::smi::kDevErrCntXGMIWAFL; - break; - - default: - return RSMI_STATUS_NOT_SUPPORTED; - } - - DEVICE_MUTEX - - ret = GetDevValueVec(type, dv_ind, &val_vec); - - if (ret == RSMI_STATUS_FILE_ERROR) { - return RSMI_STATUS_NOT_SUPPORTED; - } - if (ret != RSMI_STATUS_SUCCESS) { - return static_cast(ret); - } - - assert(val_vec.size() == 2); - - std::string junk; - std::istringstream fs1(val_vec[0]); - - fs1 >> junk; - assert(junk == "ue:"); - fs1 >> count->total_error_count; - - std::istringstream fs2(val_vec[1]); - - fs2 >> junk; - assert(junk == "ce:"); - fs2 >> count->total_error_count; - - return static_cast(ret); - CATCH -} diff --git a/projects/amdsmi/rocm_smi-backward-compat.cmake b/projects/amdsmi/rocm_smi-backward-compat.cmake deleted file mode 100644 index 8d31ebf087..0000000000 --- a/projects/amdsmi/rocm_smi-backward-compat.cmake +++ /dev/null @@ -1,172 +0,0 @@ -# Copyright (c) 2022 Advanced Micro Devices, Inc. All Rights Reserved. -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -cmake_minimum_required(VERSION 3.16.8) - -set(RSMI_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) -set(RSMI_WRAPPER_DIR ${RSMI_BUILD_DIR}/wrapper_dir) -set(RSMI_WRAPPER_INC_DIR ${RSMI_WRAPPER_DIR}/include/${ROCM_SMI}) -set(OAM_TARGET_NAME "oam") -set(OAM_WRAPPER_INC_DIR ${RSMI_WRAPPER_DIR}/include/${OAM_TARGET_NAME}) -set(RSMI_WRAPPER_LIB_DIR ${RSMI_WRAPPER_DIR}/${ROCM_SMI}/lib) -set(OAM_WRAPPER_LIB_DIR ${RSMI_WRAPPER_DIR}/${OAM_TARGET_NAME}/lib) -## package headers -set(PUBLIC_RSMI_HEADERS - rocm_smi.h - ${ROCM_SMI_TARGET}Config.h - kfd_ioctl.h) -set(OAM_HEADERS - oam_mapi.h - amd_oam.h) - -#Function to generate header template file -function(create_header_template) - file(WRITE ${RSMI_WRAPPER_DIR}/header.hpp.in "/* - Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the \"Software\"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */\n\n#ifndef @include_guard@\n#define @include_guard@ \n\n#pragma message(\"This file is deprecated. Use file from include path /opt/rocm-ver/include/ and prefix with @prefix_name@\")\n@include_statements@ \n\n#endif") -endfunction() - -#use header template file and generate wrapper header files -function(generate_wrapper_header) - file(MAKE_DIRECTORY ${RSMI_WRAPPER_INC_DIR}) - set(prefix_name "${prefix_name}${ROCM_SMI}") - #Generate wrapper header files from the list - foreach(header_file ${PUBLIC_RSMI_HEADERS}) - # set include guard - get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) - string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "${include_guard}COMGR_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") - #set #include statement - get_filename_component(file_name ${header_file} NAME) - set(include_statements "${include_statements}#include \"../../../include/${ROCM_SMI}/${file_name}\"\n") - configure_file(${RSMI_WRAPPER_DIR}/header.hpp.in ${RSMI_WRAPPER_INC_DIR}/${file_name}) - unset(include_guard) - unset(include_statements) - endforeach() - unset(prefix_name) - -#OAM Wrpper Header file generation - file(MAKE_DIRECTORY ${OAM_WRAPPER_INC_DIR}) - set(prefix_name "${prefix_name}${OAM_TARGET_NAME}") - #Generate wrapper header files from the list - foreach(header_file ${OAM_HEADERS}) - # set include guard - get_filename_component(INC_GAURD_NAME ${header_file} NAME_WE) - string(TOUPPER ${INC_GAURD_NAME} INC_GAURD_NAME) - set(include_guard "${include_guard}COMGR_WRAPPER_INCLUDE_${INC_GAURD_NAME}_H") - #set #include statement - get_filename_component(file_name ${header_file} NAME) - set(include_statements "${include_statements}#include \"../../../include/${OAM_TARGET_NAME}/${file_name}\"\n") - configure_file(${RSMI_WRAPPER_DIR}/header.hpp.in ${OAM_WRAPPER_INC_DIR}/${file_name}) - unset(include_guard) - unset(include_statements) - endforeach() - unset(prefix_name) - -endfunction() - -#function to create symlink to libraries -function(create_library_symlink) - - file(MAKE_DIRECTORY ${RSMI_WRAPPER_LIB_DIR}) - if(BUILD_SHARED_LIBS) - - #get rsmi lib versions - set(SO_VERSION_GIT_TAG_PREFIX "rsmi_so_ver") - get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) - if(${ROCM_PATCH_VERSION}) - set(VERSION_PATCH ${ROCM_PATCH_VERSION}) - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") - else() - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}") - endif() - - #link RSMI library files - set(LIB_RSMI "${ROCM_SMI_LIB_NAME}.so") - set(library_files "${LIB_RSMI}" "${LIB_RSMI}.${VERSION_MAJOR}" "${LIB_RSMI}.${SO_VERSION_STRING}") - else() - set(LIB_RSMI "${ROCM_SMI_LIB_NAME}.a") - set(library_files "${LIB_RSMI}") - endif() - - foreach(file_name ${library_files}) - add_custom_target(link_${file_name} ALL - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${file_name} ${RSMI_WRAPPER_LIB_DIR}/${file_name}) - endforeach() - - file(MAKE_DIRECTORY ${OAM_WRAPPER_LIB_DIR}) - if(BUILD_SHARED_LIBS) - - #get OAM lib versions - set(SO_VERSION_GIT_TAG_PREFIX "oam_so_ver") - get_version_from_tag("1.0.0.0" ${SO_VERSION_GIT_TAG_PREFIX} GIT) - if(${ROCM_PATCH_VERSION}) - set(VERSION_PATCH ${ROCM_PATCH_VERSION}) - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") - else() - set(SO_VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}") - endif() - - #link OAM library files - set(LIB_OAM "lib${OAM_TARGET_NAME}.so") - set(library_files "${LIB_OAM}" "${LIB_OAM}.${VERSION_MAJOR}" "${LIB_OAM}.${SO_VERSION_STRING}") - else() - set(LIB_OAM "lib${OAM_TARGET_NAME}.a") - set(library_files "${LIB_OAM}") - endif() - - foreach(file_name ${library_files}) - add_custom_target(link_${file_name} ALL - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E create_symlink - ../../lib/${file_name} ${OAM_WRAPPER_LIB_DIR}/${file_name}) - endforeach() - -endfunction() - -#Creater a template for header file -create_header_template() -#Use template header file and generater wrapper header files -generate_wrapper_header() -install(DIRECTORY ${RSMI_WRAPPER_INC_DIR} DESTINATION ${ROCM_SMI}/include) -install(DIRECTORY ${OAM_WRAPPER_INC_DIR} DESTINATION ${OAM_TARGET_NAME}/include) -# Create symlink to library files -create_library_symlink() -install(DIRECTORY ${RSMI_WRAPPER_LIB_DIR} DESTINATION ${ROCM_SMI} COMPONENT lib${ROCM_SMI}) -install(DIRECTORY ${OAM_WRAPPER_LIB_DIR} DESTINATION ${OAM_TARGET_NAME} COMPONENT lib${OAM_TARGET_NAME} ) diff --git a/projects/amdsmi/rocm_smi/CMakeLists.txt b/projects/amdsmi/rocm_smi/CMakeLists.txt index c3311ddeaf..4be367a53b 100755 --- a/projects/amdsmi/rocm_smi/CMakeLists.txt +++ b/projects/amdsmi/rocm_smi/CMakeLists.txt @@ -24,7 +24,7 @@ message("--------Proj Src Dir: " ${PROJECT_SOURCE_DIR}) # message("--------RSMI Inc Dir: " ${RSMI_INC_DIR}) # message("") -set(ROCM_SMI "rocm_smi") +set(ROCM_SMI "amd_smi") set(ROCM_SMI_COMPONENT "lib${ROCM_SMI}") set(ROCM_SMI_TARGET "${ROCM_SMI}64") @@ -58,7 +58,7 @@ message("SOVERSION: ${SO_VERSION_STRING}") # Create a configure file to get version info from within library configure_file( "${PROJECT_SOURCE_DIR}/src/${ROCM_SMI_TARGET}Config.in" - "${PROJECT_SOURCE_DIR}/include/rocm_smi/${ROCM_SMI_TARGET}Config.h") + "${PROJECT_SOURCE_DIR}/include/amd_smi/${ROCM_SMI_TARGET}Config.h") set(RSMI_SRC_DIR "src") set(RSMI_INC_DIR "include") @@ -102,6 +102,8 @@ if ("${CMAKE_BUILD_TYPE}" STREQUAL Release) POST_BUILD COMMAND ${CMAKE_STRIP} lib${ROCM_SMI_TARGET}.so.${SO_VERSION_STRING}) endif() endif () + + #file reorganization changes #rocm_smi.py moved to libexec/rocm_smi. so creating rocm-smi symlink file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) @@ -117,15 +119,15 @@ install(TARGETS ${ROCM_SMI_TARGET} ARCHIVE DESTINATION lib COMPONENT ${ROCM_SMI_COMPONENT}) -install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/rocm_smi.h +install(FILES ${COMMON_SRC_ROOT}/include/amd_smi/amd_smi.h DESTINATION include/rocm_smi) -install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/${ROCM_SMI_TARGET}Config.h +install(FILES ${COMMON_SRC_ROOT}/include/amd_smi/${ROCM_SMI_TARGET}Config.h DESTINATION include/rocm_smi) -install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/kfd_ioctl.h +install(FILES ${COMMON_SRC_ROOT}/rocm_smi/include/rocm_smi/kfd_ioctl.h DESTINATION include/rocm_smi) -install(FILES ${COMMON_SRC_ROOT}/python_smi_tools/rsmiBindings.py +install(FILES ${COMMON_SRC_ROOT}/rocm_smi/python_smi_tools/rsmiBindings.py DESTINATION libexec/${ROCM_SMI}) -install(FILES ${COMMON_SRC_ROOT}/python_smi_tools/rocm_smi.py +install(FILES ${COMMON_SRC_ROOT}/rocm_smi/python_smi_tools/rocm_smi.py PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE DESTINATION libexec/${ROCM_SMI}) @@ -138,13 +140,13 @@ find_package(LATEX COMPONENTS PDFLATEX) if (DOXYGEN_FOUND AND LATEX_FOUND) set (RSMI_MANUAL_NAME "ROCm_SMI_Manual") - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/rocm_smi_doxygen.cfg ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg - "${COMMON_INC_DIR}/rocm_smi.h" + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/rocm_smi_doxygen.cfg + "${ROCM_INC_DIR}/rocm_smi.h" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf COMMAND make > /dev/null diff --git a/projects/amdsmi/rocm_smi/docs/amd_smi_doxygen.cfg b/projects/amdsmi/rocm_smi/docs/rocm_smi_doxygen.cfg similarity index 99% rename from projects/amdsmi/rocm_smi/docs/amd_smi_doxygen.cfg rename to projects/amdsmi/rocm_smi/docs/rocm_smi_doxygen.cfg index 2236d5fe10..bc7b507f01 100644 --- a/projects/amdsmi/rocm_smi/docs/amd_smi_doxygen.cfg +++ b/projects/amdsmi/rocm_smi/docs/rocm_smi_doxygen.cfg @@ -760,7 +760,7 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = @CMAKE_CURRENT_SOURCE_DIR@/../README.md \ - @CMAKE_CURRENT_SOURCE_DIR@/../include/rocm_smi/rocm_smi.h + @CMAKE_CURRENT_SOURCE_DIR@/../rocm_smi/include/rocm_smi/rocm_smi.h # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/projects/amdsmi/include/rocm_smi/kfd_ioctl.h b/projects/amdsmi/rocm_smi/include/rocm_smi/kfd_ioctl.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/kfd_ioctl.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/kfd_ioctl.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_common.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_common.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_common.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_common.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_counters.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_counters.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_counters.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_counters.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_device.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_device.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_device.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_device.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_exception.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_exception.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_exception.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_exception.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_io_link.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_io_link.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_io_link.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_io_link.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_kfd.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_kfd.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_kfd.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_kfd.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_main.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_main.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_main.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_main.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_monitor.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_monitor.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_monitor.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_monitor.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_power_mon.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_power_mon.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_power_mon.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_power_mon.h diff --git a/projects/amdsmi/include/rocm_smi/rocm_smi_utils.h b/projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_utils.h similarity index 100% rename from projects/amdsmi/include/rocm_smi/rocm_smi_utils.h rename to projects/amdsmi/rocm_smi/include/rocm_smi/rocm_smi_utils.h diff --git a/projects/amdsmi/python_smi_tools/README.md b/projects/amdsmi/rocm_smi/python_smi_tools/README.md similarity index 100% rename from projects/amdsmi/python_smi_tools/README.md rename to projects/amdsmi/rocm_smi/python_smi_tools/README.md diff --git a/projects/amdsmi/python_smi_tools/rocm-smi b/projects/amdsmi/rocm_smi/python_smi_tools/rocm-smi similarity index 100% rename from projects/amdsmi/python_smi_tools/rocm-smi rename to projects/amdsmi/rocm_smi/python_smi_tools/rocm-smi diff --git a/projects/amdsmi/python_smi_tools/rocm_smi.py b/projects/amdsmi/rocm_smi/python_smi_tools/rocm_smi.py similarity index 100% rename from projects/amdsmi/python_smi_tools/rocm_smi.py rename to projects/amdsmi/rocm_smi/python_smi_tools/rocm_smi.py diff --git a/projects/amdsmi/python_smi_tools/rsmiBindings.py b/projects/amdsmi/rocm_smi/python_smi_tools/rsmiBindings.py similarity index 100% rename from projects/amdsmi/python_smi_tools/rsmiBindings.py rename to projects/amdsmi/rocm_smi/python_smi_tools/rsmiBindings.py diff --git a/projects/amdsmi/src/rocm_smi.cc b/projects/amdsmi/rocm_smi/src/rocm_smi.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi.cc diff --git a/projects/amdsmi/src/rocm_smi64Config.in b/projects/amdsmi/rocm_smi/src/rocm_smi64Config.in similarity index 100% rename from projects/amdsmi/src/rocm_smi64Config.in rename to projects/amdsmi/rocm_smi/src/rocm_smi64Config.in diff --git a/projects/amdsmi/src/rocm_smi_counters.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_counters.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_counters.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_counters.cc diff --git a/projects/amdsmi/src/rocm_smi_device.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_device.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_device.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_device.cc diff --git a/projects/amdsmi/src/rocm_smi_gpu_metrics.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_gpu_metrics.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_gpu_metrics.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_gpu_metrics.cc diff --git a/projects/amdsmi/src/rocm_smi_io_link.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_io_link.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_io_link.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_io_link.cc diff --git a/projects/amdsmi/src/rocm_smi_kfd.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_kfd.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_kfd.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_kfd.cc diff --git a/projects/amdsmi/src/rocm_smi_main.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_main.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_main.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_main.cc diff --git a/projects/amdsmi/src/rocm_smi_monitor.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_monitor.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_monitor.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_monitor.cc diff --git a/projects/amdsmi/src/rocm_smi_power_mon.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_power_mon.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_power_mon.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_power_mon.cc diff --git a/projects/amdsmi/src/rocm_smi_utils.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_utils.cc similarity index 100% rename from projects/amdsmi/src/rocm_smi_utils.cc rename to projects/amdsmi/rocm_smi/src/rocm_smi_utils.cc diff --git a/projects/amdsmi/amd_smi/src/amd_smi.cc b/projects/amdsmi/src/amd_smi/amd_smi.cc similarity index 99% rename from projects/amdsmi/amd_smi/src/amd_smi.cc rename to projects/amdsmi/src/amd_smi/amd_smi.cc index fe4f2a93c2..de3e0d7852 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi.cc @@ -55,14 +55,14 @@ #include #include #include -#include "amd_smi.h" -#include "impl/amd_smi_common.h" -#include "impl/amd_smi_system.h" -#include "impl/amd_smi_socket.h" -#include "impl/amd_smi_gpu_device.h" +#include "amd_smi/amd_smi.h" +#include "amd_smi/impl/amd_smi_common.h" +#include "amd_smi/impl/amd_smi_system.h" +#include "amd_smi/impl/amd_smi_socket.h" +#include "amd_smi/impl/amd_smi_gpu_device.h" #include "rocm_smi/rocm_smi.h" #include "rocm_smi/rocm_smi_common.h" -#include "impl/amdgpu_drm.h" +#include "amd_smi/impl/amdgpu_drm.h" // TODO(bliu): One to one map to all status code static amdsmi_status_t rsmi_to_amdsmi_status(rsmi_status_t status) { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_common.cc b/projects/amdsmi/src/amd_smi/amd_smi_common.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_common.cc rename to projects/amdsmi/src/amd_smi/amd_smi_common.cc index 2914bcbfd6..f2bacb54ee 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_common.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_common.cc @@ -42,7 +42,7 @@ */ #include -#include "impl/amd_smi_common.h" +#include "amd_smi/impl/amd_smi_common.h" namespace amd { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_drm.cc b/projects/amdsmi/src/amd_smi/amd_smi_drm.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_drm.cc rename to projects/amdsmi/src/amd_smi/amd_smi_drm.cc index fcce95f6eb..45ff3d1d8b 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_drm.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_drm.cc @@ -47,8 +47,8 @@ #include #include #include -#include "impl/amd_smi_drm.h" -#include "impl/amdgpu_drm.h" +#include "amd_smi/impl/amd_smi_drm.h" +#include "amd_smi/impl/amdgpu_drm.h" namespace amd { namespace smi { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_gpu_device.cc b/projects/amdsmi/src/amd_smi/amd_smi_gpu_device.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_gpu_device.cc rename to projects/amdsmi/src/amd_smi/amd_smi_gpu_device.cc index 868507f997..f6748667e7 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_gpu_device.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_gpu_device.cc @@ -42,7 +42,7 @@ */ #include -#include "impl/amd_smi_gpu_device.h" +#include "amd_smi/impl/amd_smi_gpu_device.h" namespace amd { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_lib_loader.cc b/projects/amdsmi/src/amd_smi/amd_smi_lib_loader.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_lib_loader.cc rename to projects/amdsmi/src/amd_smi/amd_smi_lib_loader.cc index e77e383103..d85e18c553 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_lib_loader.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_lib_loader.cc @@ -41,7 +41,7 @@ * */ -#include "impl/amd_smi_lib_loader.h" +#include "amd_smi/impl/amd_smi_lib_loader.h" #include namespace amd { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_socket.cc b/projects/amdsmi/src/amd_smi/amd_smi_socket.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_socket.cc rename to projects/amdsmi/src/amd_smi/amd_smi_socket.cc index 1f1c6e59fd..52ce69e65b 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_socket.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_socket.cc @@ -42,7 +42,7 @@ */ #include -#include "impl/amd_smi_socket.h" +#include "amd_smi/impl/amd_smi_socket.h" namespace amd { diff --git a/projects/amdsmi/amd_smi/src/amd_smi_system.cc b/projects/amdsmi/src/amd_smi/amd_smi_system.cc similarity index 98% rename from projects/amdsmi/amd_smi/src/amd_smi_system.cc rename to projects/amdsmi/src/amd_smi/amd_smi_system.cc index e4f0637a14..4cdba74087 100644 --- a/projects/amdsmi/amd_smi/src/amd_smi_system.cc +++ b/projects/amdsmi/src/amd_smi/amd_smi_system.cc @@ -42,8 +42,8 @@ */ #include #include -#include "impl/amd_smi_system.h" -#include "impl/amd_smi_gpu_device.h" +#include "amd_smi/impl/amd_smi_system.h" +#include "amd_smi/impl/amd_smi_gpu_device.h" #include "rocm_smi/rocm_smi.h" diff --git a/projects/amdsmi/oam/src/oamConfig.in b/projects/amdsmi/src/amd_smi64Config.in similarity index 83% rename from projects/amdsmi/oam/src/oamConfig.in rename to projects/amdsmi/src/amd_smi64Config.in index bde279ced1..0bc11f932f 100755 --- a/projects/amdsmi/oam/src/oamConfig.in +++ b/projects/amdsmi/src/amd_smi64Config.in @@ -5,7 +5,7 @@ * The University of Illinois/NCSA * Open Source License (NCSA) * - * Copyright (c) 2017, Advanced Micro Devices, Inc. + * Copyright (c) 2022, Advanced Micro Devices, Inc. * All rights reserved. * * Developed by: @@ -43,14 +43,14 @@ * */ -#ifndef INCLUDE_ROCM_SMI_ROCM_SMI64CONFIG_H_ -#define INCLUDE_ROCM_SMI_ROCM_SMI64CONFIG_H_ +#ifndef INCLUDE_AMD_SMI_AMD_SMI64CONFIG_H_ +#define INCLUDE_AMD_SMI_AMD_SMI64CONFIG_H_ // This file is generated on build. -#define rocm_smi_VERSION_MAJOR @rocm_smi_VERSION_MAJOR@ -#define rocm_smi_VERSION_MINOR @rocm_smi_VERSION_MINOR@ -#define rocm_smi_VERSION_PATCH @rocm_smi_VERSION_PATCH@ -#define rocm_smi_VERSION_BUILD "@rocm_smi_VERSION_BUILD@" +#define amd_smi_VERSION_MAJOR @amd_smi_VERSION_MAJOR@ +#define amd_smi_VERSION_MINOR @amd_smi_VERSION_MINOR@ +#define amd_smi_VERSION_PATCH @amd_smi_VERSION_PATCH@ +#define amd_smi_VERSION_BUILD "@amd_smi_VERSION_BUILD@" -#endif // INCLUDE_ROCM_SMI_ROCM_SMI64CONFIG_H_ \ No newline at end of file +#endif // INCLUDE_AMD_SMI_AMD_SMI64CONFIG_H_ diff --git a/projects/amdsmi/tests/amd_smi_test/CMakeLists.txt b/projects/amdsmi/tests/amd_smi_test/CMakeLists.txt index 7569c65766..18f953e387 100644 --- a/projects/amdsmi/tests/amd_smi_test/CMakeLists.txt +++ b/projects/amdsmi/tests/amd_smi_test/CMakeLists.txt @@ -69,14 +69,14 @@ else() endif() # if (${IS64BIT} EQUAL 0) - if(NOT EXISTS ${AMDSMI_LIB_DIR}/librocm_smi32.so) - message("ERROR: ${AMDSMI_LIB_DIR}/librocm_smi32.so doesn't exist. Check value of ROCM_DIR define") + if(NOT EXISTS ${AMDSMI_LIB_DIR}/libamd_smi32.so) + message("ERROR: ${AMDSMI_LIB_DIR}/libamd_smi32.so doesn't exist. Check value of ROCM_DIR define") return() endif() else() - if(NOT EXISTS ${AMDSMI_LIB_DIR}/librocm_smi64.so) + if(NOT EXISTS ${AMDSMI_LIB_DIR}/libamd_smi64.so) message("ERROR: Define AMDSMI_LIB_DIR pointing to AMDSMI library is not set") - message(" missing: ${AMDSMI_LIB_DIR}/librocm_smi64.so") + message(" missing: ${AMDSMI_LIB_DIR}/libamd_smi64.so") return() endif() endif() @@ -200,10 +200,10 @@ LINK_DIRECTORIES(${AMDSMI_LIB_DIR} ${GTEST_LIB_DIR}) # Extend the list of libraries to be used for linking amdsmi apps # if (IS64BIT) - set(AMDSMITST_LIBS ${AMDSMITST_LIBS} rocm_smi64) + set(AMDSMITST_LIBS ${AMDSMITST_LIBS} amd_smi64) set(AMDSMITST "amdsmitst64") else() - set(AMDSMITST_LIBS ${AMDSMITST_LIBS} rocm_smi32) + set(AMDSMITST_LIBS ${AMDSMITST_LIBS} amd_smi32) set(AMDSMITST "amdsmitst") endif() diff --git a/projects/amdsmi/tests/amd_smi_test/functional/api_support_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/api_support_read.cc index 7cc8e52436..4b46024736 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/api_support_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/api_support_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/api_support_read.h" #include "amd_smi_test/test_common.h" #include "amd_smi_test/test_utils.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/err_cnt_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/err_cnt_read.cc index 31e37397af..71131e187a 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/err_cnt_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/err_cnt_read.cc @@ -47,7 +47,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/err_cnt_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/evt_notif_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/evt_notif_read_write.cc index e948f9cf80..c7393c92a9 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/evt_notif_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/evt_notif_read_write.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/evt_notif_read_write.h" #include "amd_smi_test/test_common.h" #include "amd_smi_test/test_utils.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/fan_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/fan_read.cc index 856f5c172a..c0b6772003 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/fan_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/fan_read.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/fan_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/fan_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/fan_read_write.cc index 8034915c36..24b6bb0ff7 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/fan_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/fan_read_write.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/fan_read_write.h" #include "amd_smi_test/test_common.h" 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 8c5445aadd..7e211a1a74 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/frequencies_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read_write.cc index 19f630448b..b932d66feb 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/frequencies_read_write.cc @@ -53,7 +53,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/frequencies_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/gpu_busy_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/gpu_busy_read.cc index 19afbb93e1..cb65121e90 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/gpu_busy_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/gpu_busy_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/gpu_busy_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/gpu_metrics_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/gpu_metrics_read.cc index 810b91b8b0..8d915fd708 100644 --- a/projects/amdsmi/tests/amd_smi_test/functional/gpu_metrics_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/gpu_metrics_read.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/gpu_metrics_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/hw_topology_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/hw_topology_read.cc index d87a7edaae..ae4447420c 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/hw_topology_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/hw_topology_read.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/hw_topology_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/id_info_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/id_info_read.cc index e68da1f524..8439dde8d8 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/id_info_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/id_info_read.cc @@ -48,7 +48,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/id_info_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/init_shutdown_refcount.cc b/projects/amdsmi/tests/amd_smi_test/functional/init_shutdown_refcount.cc index c80e411a74..c1acc3fa3b 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/init_shutdown_refcount.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/init_shutdown_refcount.cc @@ -53,7 +53,7 @@ #include "amd_smi_test/functional/init_shutdown_refcount.h" #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/test_common.h" extern int32_t diff --git a/projects/amdsmi/tests/amd_smi_test/functional/mem_page_info_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/mem_page_info_read.cc index da1f6ee34e..22824e02ab 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/mem_page_info_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/mem_page_info_read.cc @@ -48,7 +48,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/mem_page_info_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/mem_util_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/mem_util_read.cc index 18de2ddc7a..4c8cc45908 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/mem_util_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/mem_util_read.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/mem_util_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/metrics_counter_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/metrics_counter_read.cc index a9c74d37aa..6389277bdf 100644 --- a/projects/amdsmi/tests/amd_smi_test/functional/metrics_counter_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/metrics_counter_read.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/metrics_counter_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/mutual_exclusion.cc b/projects/amdsmi/tests/amd_smi_test/functional/mutual_exclusion.cc index f94123e82b..c93b7a6f0f 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/mutual_exclusion.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/mutual_exclusion.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/mutual_exclusion.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read.cc index 42b3c280fc..4af1e845ee 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/overdrive_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read_write.cc index 9b6015de77..c54e8c2cab 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/overdrive_read_write.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/overdrive_read_write.h" #include "amd_smi_test/test_common.h" 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 e487f53b2e..9c46b52dec 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 @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/pci_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/perf_cntr_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/perf_cntr_read_write.cc index 52946a1e0a..3bad6718dc 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/perf_cntr_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/perf_cntr_read_write.cc @@ -54,7 +54,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/perf_cntr_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/perf_determinism.cc b/projects/amdsmi/tests/amd_smi_test/functional/perf_determinism.cc index 3dd3e17d4f..1ab3bd6c73 100644 --- a/projects/amdsmi/tests/amd_smi_test/functional/perf_determinism.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/perf_determinism.cc @@ -53,7 +53,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/perf_determinism.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read.cc index b8fd650665..77b6354639 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/perf_level_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read_write.cc index ff87868e1a..0f5eb5e02e 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/perf_level_read_write.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/perf_level_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/power_cap_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/power_cap_read_write.cc index 411ec2dd91..9e0428baf6 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/power_cap_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/power_cap_read_write.cc @@ -52,7 +52,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/power_cap_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/power_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/power_read.cc index b914c655bf..b4091b7c23 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/power_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/power_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/power_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/power_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/power_read_write.cc index a46064b83e..8c2ee46180 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/power_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/power_read_write.cc @@ -52,7 +52,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/power_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/process_info_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/process_info_read.cc index 30e7046df4..facf69d21a 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/process_info_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/process_info_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/process_info_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/sys_info_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/sys_info_read.cc index 916de49629..c246dfe727 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/sys_info_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/sys_info_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/sys_info_read.h" #include "amd_smi_test/test_common.h" #include "amd_smi_test/test_utils.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/temp_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/temp_read.cc index 80e0a413ac..9947d11134 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/temp_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/temp_read.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/temp_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/version_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/version_read.cc index 5cf5232c67..196ec0527a 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/version_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/version_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/version_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/volt_freq_curv_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/volt_freq_curv_read.cc index 9e2ad080ca..8c7ed96a72 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/volt_freq_curv_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/volt_freq_curv_read.cc @@ -50,7 +50,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/volt_freq_curv_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/volt_read.cc b/projects/amdsmi/tests/amd_smi_test/functional/volt_read.cc index c958976f31..ca63e9bbe4 100644 --- a/projects/amdsmi/tests/amd_smi_test/functional/volt_read.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/volt_read.cc @@ -51,7 +51,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/volt_read.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/functional/xgmi_read_write.cc b/projects/amdsmi/tests/amd_smi_test/functional/xgmi_read_write.cc index 315f06a015..f888935ab4 100755 --- a/projects/amdsmi/tests/amd_smi_test/functional/xgmi_read_write.cc +++ b/projects/amdsmi/tests/amd_smi_test/functional/xgmi_read_write.cc @@ -49,7 +49,7 @@ #include #include "gtest/gtest.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/functional/xgmi_read_write.h" #include "amd_smi_test/test_common.h" diff --git a/projects/amdsmi/tests/amd_smi_test/main.cc b/projects/amdsmi/tests/amd_smi_test/main.cc index ecd1961a1b..6d674faca7 100644 --- a/projects/amdsmi/tests/amd_smi_test/main.cc +++ b/projects/amdsmi/tests/amd_smi_test/main.cc @@ -48,7 +48,7 @@ #include #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "gtest/gtest.h" #include "amd_smi_test/test_common.h" #include "amd_smi_test/test_base.h" diff --git a/projects/amdsmi/tests/amd_smi_test/test_base.cc b/projects/amdsmi/tests/amd_smi_test/test_base.cc index c8c6018851..695e6ff8da 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_base.cc +++ b/projects/amdsmi/tests/amd_smi_test/test_base.cc @@ -45,7 +45,7 @@ #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/test_base.h" #include "amd_smi_test/test_common.h" #include "gtest/gtest.h" diff --git a/projects/amdsmi/tests/amd_smi_test/test_base.h b/projects/amdsmi/tests/amd_smi_test/test_base.h index 2805573878..822287f574 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_base.h +++ b/projects/amdsmi/tests/amd_smi_test/test_base.h @@ -46,7 +46,7 @@ #define TESTS_AMD_SMI_TEST_TEST_BASE_H_ #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" // The max devices can be monitored #define MAX_MONITOR_DEVICES 128 diff --git a/projects/amdsmi/tests/amd_smi_test/test_common.cc b/projects/amdsmi/tests/amd_smi_test/test_common.cc index ad01dbf773..3c06b9657b 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_common.cc +++ b/projects/amdsmi/tests/amd_smi_test/test_common.cc @@ -53,7 +53,7 @@ #include "amd_smi_test/test_base.h" #include "amd_smi_test/test_common.h" -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" static const std::map kDevPerfLvlNameMap = { diff --git a/projects/amdsmi/tests/amd_smi_test/test_common.h b/projects/amdsmi/tests/amd_smi_test/test_common.h index 612cdee120..cc729a9409 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_common.h +++ b/projects/amdsmi/tests/amd_smi_test/test_common.h @@ -50,7 +50,7 @@ #include #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" struct AMDSMITstGlobals { uint32_t verbosity; diff --git a/projects/amdsmi/tests/amd_smi_test/test_utils.cc b/projects/amdsmi/tests/amd_smi_test/test_utils.cc index 26237edb42..18a614f358 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_utils.cc +++ b/projects/amdsmi/tests/amd_smi_test/test_utils.cc @@ -45,7 +45,7 @@ #include -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" #include "amd_smi_test/test_utils.h" static const std::map kDevFWNameMap = { diff --git a/projects/amdsmi/tests/amd_smi_test/test_utils.h b/projects/amdsmi/tests/amd_smi_test/test_utils.h index 1b7e083c30..26fabc1c26 100644 --- a/projects/amdsmi/tests/amd_smi_test/test_utils.h +++ b/projects/amdsmi/tests/amd_smi_test/test_utils.h @@ -46,7 +46,7 @@ #ifndef TESTS_AMD_SMI_TEST_TEST_UTILS_H_ #define TESTS_AMD_SMI_TEST_TEST_UTILS_H_ -#include "amd_smi.h" +#include "amd_smi/amd_smi.h" const char * NameFromFWEnum(amdsmi_fw_block_t blk);