From 68d25e82fd79f4711dafc941e1cec7162d4179bb Mon Sep 17 00:00:00 2001 From: Chris Freehill Date: Mon, 23 Sep 2019 17:43:58 -0500 Subject: [PATCH] Support checking for specific device-getter api support For device-getter functions, allow users to specify a nullptr for the provided buffer. In those cases, the function will return RSMI_STATUS_NOT_SUPPORTED if the hardware or system software does not support the function. If the function is supported, then RSMI_STATUS_INVALID_ARGS will be returned, unless a different error is encountered. Additionally, tests and documentation were updated to reflect this change. Change-Id: Ie7db3a4c8c66af97ebd7ee1e3b95cd331ace9d9c --- docs/ROCm_SMI_Manual.pdf | Bin 359545 -> 383800 bytes include/rocm_smi/rocm_smi.h | 972 ++++++++++++------ include/rocm_smi/rocm_smi_device.h | 2 + src/rocm_smi.cc | 242 +++-- src/rocm_smi_device.cc | 60 ++ .../rocm_smi_test/functional/err_cnt_read.cc | 23 + tests/rocm_smi_test/functional/fan_read.cc | 12 + .../functional/frequencies_read.cc | 16 +- .../functional/frequencies_read_write.cc | 3 +- .../rocm_smi_test/functional/id_info_read.cc | 128 ++- .../functional/mem_page_info_read.cc | 8 + .../functional/overdrive_read.cc | 3 + .../functional/pci_read_write.cc | 17 + .../functional/perf_cntr_read_write.cc | 8 +- .../functional/perf_level_read.cc | 3 + .../functional/power_cap_read_write.cc | 6 + tests/rocm_smi_test/functional/power_read.cc | 3 + .../functional/power_read_write.cc | 4 + .../rocm_smi_test/functional/sys_info_read.cc | 26 +- tests/rocm_smi_test/functional/temp_read.cc | 7 + .../functional/volt_freq_curv_read.cc | 9 +- .../functional/xgmi_read_write.cc | 29 +- 22 files changed, 1070 insertions(+), 511 deletions(-) diff --git a/docs/ROCm_SMI_Manual.pdf b/docs/ROCm_SMI_Manual.pdf index 876670d61a3dfb8e18d32754a7908b4c2b301297..53f5645fdb8e05ee2c23ac860751eaf84136fda4 100644 GIT binary patch delta 224502 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®C3NYC-Oi&$kp{2WcbCxH%e|~{Csf~ltmqA=z$mp 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 z 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�cMMR7k}@7FCiETBP3Z!-gD4Jp^fpw}t}W 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 delta 200460 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 diff --git a/include/rocm_smi/rocm_smi.h b/include/rocm_smi/rocm_smi.h index a2ce6f5f21..798ba579b0 100755 --- a/include/rocm_smi/rocm_smi.h +++ b/include/rocm_smi/rocm_smi.h @@ -771,8 +771,15 @@ rsmi_status_t rsmi_num_monitor_devices(uint32_t *num_devices); * * @param[inout] id a pointer to uint64_t to which the device id will be * written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_id_get(uint32_t dv_ind, uint16_t *id); @@ -789,8 +796,15 @@ rsmi_status_t rsmi_dev_id_get(uint32_t dv_ind, uint16_t *id); * * @param[inout] id a pointer to uint64_t to which the device vendor id will * be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_vendor_id_get(uint32_t dv_ind, uint16_t *id); @@ -813,10 +827,17 @@ rsmi_status_t rsmi_dev_vendor_id_get(uint32_t dv_ind, uint16_t *id); * * @param[inout] name a pointer to a caller provided char buffer to which the * name will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * * @param[in] len the length of the caller provided buffer @p name. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not * large enough to hold the entire name. In this case, only @p len bytes will * be written. @@ -840,10 +861,20 @@ rsmi_status_t rsmi_dev_name_get(uint32_t dv_ind, char *name, size_t len); * * @param[inout] brand a pointer to a caller provided char buffer to which the * brand will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * * @param[in] len the length of the caller provided buffer @p brand. - * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not + * large enough to hold the entire name. In this case, only @p len bytes will + * be written. * */ rsmi_status_t rsmi_dev_brand_get(uint32_t dv_ind, char *brand, uint32_t len); @@ -866,10 +897,17 @@ rsmi_status_t rsmi_dev_brand_get(uint32_t dv_ind, char *brand, uint32_t len); * * @param[inout] name a pointer to a caller provided char buffer to which the * name will be written - * + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. + * @param[in] len the length of the caller provided buffer @p name. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not * large enough to hold the entire name. In this case, only @p len bytes will * be written. @@ -915,10 +953,17 @@ rsmi_status_t rsmi_dev_vram_vendor_get(uint32_t dv_ind, char *brand, * * @param[inout] serial_num a pointer to caller-provided memory to which the * serial number will be written - * + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. + * @param[in] len the length of the caller provided buffer @p serial_num. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not * large enough to hold the entire name. In this case, only @p len bytes will * be written. @@ -938,8 +983,15 @@ rsmi_status_t rsmi_dev_serial_number_get(uint32_t dv_ind, * * @param[inout] id a pointer to uint64_t to which the subsystem device id * will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_subsystem_id_get(uint32_t dv_ind, uint16_t *id); @@ -962,10 +1014,17 @@ rsmi_status_t rsmi_dev_subsystem_id_get(uint32_t dv_ind, uint16_t *id); * * @param[inout] name a pointer to a caller provided char buffer to which the * name will be written - * + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. + * @param[in] len the length of the caller provided buffer @p name. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not * large enough to hold the entire name. In this case, only @p len bytes will * be written. @@ -988,6 +1047,7 @@ rsmi_dev_subsystem_name_get(uint32_t dv_ind, char *name, size_t len); * @retval :: RSMI_STATUS_SUCCESS is returned upon successful call. * @retval :: RSMI_STATUS_INIT_ERROR if failed to get minor number during * initialization. + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1005,9 +1065,15 @@ rsmi_dev_drm_render_minor_get(uint32_t dv_ind, uint32_t *minor); * * @param[inout] id a pointer to uint64_t to which the device subsystem vendor * id will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - * + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_subsystem_vendor_id_get(uint32_t dv_ind, uint16_t *id); @@ -1022,8 +1088,15 @@ rsmi_status_t rsmi_dev_subsystem_vendor_id_get(uint32_t dv_ind, uint16_t *id); * * @param[inout] id a pointer to uint64_t to which the unique ID of the GPU * is written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_unique_id_get(uint32_t dv_ind, uint64_t *id); @@ -1079,9 +1152,15 @@ rsmi_dev_pci_bandwidth_get(uint32_t dv_ind, rsmi_pcie_bandwidth_t *bandwidth); * * @param[inout] bdfid a pointer to uint64_t to which the device bdfid value * will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_pci_id_get(uint32_t dv_ind, uint64_t *bdfid); @@ -1106,6 +1185,8 @@ rsmi_status_t rsmi_dev_pci_id_get(uint32_t dv_ind, uint64_t *bdfid); * size will be written. If pointer is NULL, it will be ignored. * * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments */ rsmi_status_t rsmi_dev_pci_throughput_get(uint32_t dv_ind, uint64_t *sent, uint64_t *received, uint64_t *max_pkt_sz); @@ -1122,8 +1203,15 @@ rsmi_status_t rsmi_dev_pci_throughput_get(uint32_t dv_ind, uint64_t *sent, * * @param[inout] counter a pointer to uint64_t to which the sum of the NAK's * received and generated by the GPU is written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_pci_replay_counter_get(uint32_t dv_ind, uint64_t *counter); @@ -1159,6 +1247,10 @@ rsmi_status_t rsmi_dev_pci_replay_counter_get(uint32_t dv_ind, * bandwidths that are to be enabled (1) and disabled (0). Only the lowest * ::rsmi_frequencies_t::num_supported (of ::rsmi_pcie_bandwidth_t) bits of * this mask are relevant. + * + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_PERMISSION function requires root access + * */ rsmi_status_t rsmi_dev_pci_bandwidth_set(uint32_t dv_ind, uint64_t bw_bitmask); @@ -1184,9 +1276,15 @@ rsmi_status_t rsmi_dev_pci_bandwidth_set(uint32_t dv_ind, uint64_t bw_bitmask); * * @param[inout] power a pointer to uint64_t to which the average power * consumption will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - * + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_power_ave_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *power); @@ -1206,9 +1304,15 @@ rsmi_dev_power_ave_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *power); * * @param[inout] cap a pointer to a uint64_t that indicates the power cap, * in microwatts + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - * + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_power_cap_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *cap); @@ -1226,11 +1330,22 @@ rsmi_dev_power_cap_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *cap); * * @param[inout] max a pointer to a uint64_t that indicates the maximum * possible power cap, in microwatts + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * * @param[inout] min a pointer to a uint64_t that indicates the minimum * possible power cap, in microwatts + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1256,31 +1371,34 @@ rsmi_dev_power_cap_range_get(uint32_t dv_ind, uint32_t sensor_ind, * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. * If a device has more than one sensor, it could be greater than 0. * - * @param[inout] cap a uint64_t that indicates the desired power cap, in + * @param[in] cap a uint64_t that indicates the desired power cap, in * microwatts * * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t rsmi_dev_power_cap_set(uint32_t dv_ind, uint32_t sensor_ind, uint64_t cap); /** - * @brief Set the power profile + * @brief Set the power profile * - * @details Given a device index @p dv_ind and a @p profile, this function will - * attempt to set the current profile to the provided profile. The provided - * profile must be one of the currently supported profiles, as indicated by a - * call to ::rsmi_dev_power_profile_presets_get() + * @details Given a device index @p dv_ind and a @p profile, this function will + * attempt to set the current profile to the provided profile. The provided + * profile must be one of the currently supported profiles, as indicated by a + * call to ::rsmi_dev_power_profile_presets_get() * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] reserved Not currently used. Set to 0. + * @param[in] reserved Not currently used. Set to 0. * - * @param[in] profile a ::rsmi_power_profile_preset_masks_t that hold the mask - * of the desired new power profile + * @param[in] profile a ::rsmi_power_profile_preset_masks_t that hold the mask + * of the desired new power profile * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t @@ -1311,8 +1429,15 @@ rsmi_dev_power_profile_set(uint32_t dv_ind, uint32_t reserved, * * @param[inout] total a pointer to uint64_t to which the total amount of * memory will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1334,8 +1459,15 @@ rsmi_dev_memory_total_get(uint32_t dv_ind, rsmi_memory_type_t mem_type, * * @param[inout] used a pointer to uint64_t to which the amount of memory * currently being used will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1343,51 +1475,64 @@ rsmi_dev_memory_usage_get(uint32_t dv_ind, rsmi_memory_type_t mem_type, uint64_t *used); /** - * @brief Get percentage of time any device memory is being used + * @brief Get percentage of time any device memory is being used * - * @details Given a device index @p dv_ind, this function returns the - * percentage of time that any device memory is being used for the specified - * device. + * @details Given a device index @p dv_ind, this function returns the + * percentage of time that any device memory is being used for the specified + * device. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] busy_percent a pointer to the uint32_t to which the busy - * percent will be written + * @param[inout] busy_percent a pointer to the uint32_t to which the busy + * percent will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_memory_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent); /** - * @brief Get information about reserved ("retired") memory pages + * @brief Get information about reserved ("retired") memory pages * - * @details Given a device index @p dv_ind, this function returns retired page - * information @p records corresponding to the device with the provided device - * index @p dv_ind. The number of retired page records is returned through @p - * num_pages. @p records may be NULL on input. In this case, the number of - * records available for retrieval will be returned through @p num_pages. + * @details Given a device index @p dv_ind, this function returns retired page + * information @p records corresponding to the device with the provided device + * index @p dv_ind. The number of retired page records is returned through @p + * num_pages. @p records may be NULL on input. In this case, the number of + * records available for retrieval will be returned through @p num_pages. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] num_pages a pointer to a uint32. As input, the value passed - * through this parameter is the number of ::rsmi_retired_page_record_t's that - * may be safely written to the memory pointed to by @p records. This is the - * limit on how many records will be written to @p records. On return, @p - * num_pages will contain the number of records written to @p records, or the - * number of records that could have been written if enough memory had been - * provided. + * @param[inout] num_pages a pointer to a uint32. As input, the value passed + * through this parameter is the number of ::rsmi_retired_page_record_t's that + * may be safely written to the memory pointed to by @p records. This is the + * limit on how many records will be written to @p records. On return, @p + * num_pages will contain the number of records written to @p records, or the + * number of records that could have been written if enough memory had been + * provided. + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @param[inout] records A pointer to a block of memory to which the - * ::rsmi_retired_page_record_t values will be written. This value may be NULL. - * In this case, this function can be used to query how many records are - * available to read. + * @param[inout] records A pointer to a block of memory to which the + * ::rsmi_retired_page_record_t values will be written. This value may be NULL. + * In this case, this function can be used to query how many records are + * available to read. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - * - * ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if more records were available - * than allowed by the provided, allocated memory. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if more records were available + * than allowed by the provided, allocated memory. */ rsmi_status_t rsmi_dev_memory_reserved_pages_get(uint32_t dv_ind, uint32_t *num_pages, @@ -1414,31 +1559,45 @@ rsmi_dev_memory_reserved_pages_get(uint32_t dv_ind, uint32_t *num_pages, * * @param[inout] speed a pointer to uint32_t to which the speed will be * written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_fan_rpms_get(uint32_t dv_ind, uint32_t sensor_ind, int64_t *speed); /** - * @brief Get the fan speed for the specified device as a value relative to - * ::RSMI_MAX_FAN_SPEED + * @brief Get the fan speed for the specified device as a value relative to + * ::RSMI_MAX_FAN_SPEED * - * @details Given a device index @p dv_ind and a pointer to a uint32_t - * @p speed, this function will write the current fan speed (a value - * between 0 and the maximum fan speed, ::RSMI_MAX_FAN_SPEED) to the uint32_t - * pointed to by @p speed + * @details Given a device index @p dv_ind and a pointer to a uint32_t + * @p speed, this function will write the current fan speed (a value + * between 0 and the maximum fan speed, ::RSMI_MAX_FAN_SPEED) to the uint32_t + * pointed to by @p speed * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. - * If a device has more than one sensor, it could be greater than 0. + * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. + * If a device has more than one sensor, it could be greater than 0. * - * @param[inout] speed a pointer to uint32_t to which the speed will be - * written + * @param[inout] speed a pointer to uint32_t to which the speed will be + * written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_fan_speed_get(uint32_t dv_ind, @@ -1458,8 +1617,15 @@ rsmi_status_t rsmi_dev_fan_speed_get(uint32_t dv_ind, * * @param[inout] max_speed a pointer to uint32_t to which the maximum speed * will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_fan_speed_max_get(uint32_t dv_ind, @@ -1484,8 +1650,15 @@ rsmi_status_t rsmi_dev_fan_speed_max_get(uint32_t dv_ind, * * @param[inout] temperature a pointer to int64_t to which the temperature * will be written, in millidegrees Celcius. + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_temp_metric_get(uint32_t dv_ind, uint32_t sensor_type, @@ -1498,36 +1671,43 @@ rsmi_status_t rsmi_dev_temp_metric_get(uint32_t dv_ind, uint32_t sensor_type, * @{ */ /** - * @brief Reset the fan to automatic driver control + * @brief Reset the fan to automatic driver control * - * @details This function returns control of the fan to the system + * @details This function returns control of the fan to the system * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. - * If a device has more than one sensor, it could be greater than 0. + * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. + * If a device has more than one sensor, it could be greater than 0. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + */ rsmi_status_t rsmi_dev_fan_reset(uint32_t dv_ind, uint32_t sensor_ind); /** - * @brief Set the fan speed for the specified device with the provided speed, - * in RPMs. + * @brief Set the fan speed for the specified device with the provided speed, + * in RPMs. * - * @details Given a device index @p dv_ind and a integer value indicating - * speed @p speed, this function will attempt to set the fan speed to @p speed. - * An error will be returned if the specified speed is outside the allowable - * range for the device. The maximum value is 255 and the minimum is 0. + * @details Given a device index @p dv_ind and a integer value indicating + * speed @p speed, this function will attempt to set the fan speed to @p speed. + * An error will be returned if the specified speed is outside the allowable + * range for the device. The maximum value is 255 and the minimum is 0. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. - * If a device has more than one sensor, it could be greater than 0. + * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. + * If a device has more than one sensor, it could be greater than 0. * - * @param[in] speed the speed to which the function will attempt to set the fan + * @param[in] speed the speed to which the function will attempt to set the fan + * + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_PERMISSION function requires root access * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. */ rsmi_status_t rsmi_dev_fan_speed_set(uint32_t dv_ind, uint32_t sensor_ind, uint64_t speed); @@ -1541,19 +1721,26 @@ rsmi_status_t rsmi_dev_fan_speed_set(uint32_t dv_ind, uint32_t sensor_ind, */ /** - * @brief Get percentage of time device is busy doing any processing + * @brief Get percentage of time device is busy doing any processing * - * @details Given a device index @p dv_ind, this function returns the - * percentage of time that the specified device is busy. The device is - * considered busy if any one or more of its sub-blocks are working, and idle - * if none of the sub-blocks are working. + * @details Given a device index @p dv_ind, this function returns the + * percentage of time that the specified device is busy. The device is + * considered busy if any one or more of its sub-blocks are working, and idle + * if none of the sub-blocks are working. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] busy_percent a pointer to the uint32_t to which the busy - * percent will be written + * @param[inout] busy_percent a pointer to the uint32_t to which the busy + * percent will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1571,8 +1758,15 @@ rsmi_dev_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent); * * @param[inout] perf a pointer to ::rsmi_dev_perf_level_t to which the * performance level will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_perf_level_get(uint32_t dv_ind, @@ -1590,8 +1784,15 @@ rsmi_status_t rsmi_dev_perf_level_get(uint32_t dv_ind, * * @param[inout] od a pointer to uint32_t to which the overdrive percentage * will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_overdrive_level_get(uint32_t dv_ind, uint32_t *od); @@ -1612,85 +1813,117 @@ rsmi_status_t rsmi_dev_overdrive_level_get(uint32_t dv_ind, uint32_t *od); * @param[inout] f a pointer to a caller provided ::rsmi_frequencies_t structure * to which the frequency information will be written. Frequency values are in * Hz. + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_gpu_clk_freq_get(uint32_t dv_ind, rsmi_clk_type_t clk_type, rsmi_frequencies_t *f); /** - * @brief This function retrieves the voltage/frequency curve information + * @brief This function retrieves the voltage/frequency curve information * - * @details Given a device index @p dv_ind and a pointer to a - * ::rsmi_od_volt_freq_data_t structure @p odv, this function will populate @p - * odv. See ::rsmi_od_volt_freq_data_t for more details. + * @details Given a device index @p dv_ind and a pointer to a + * ::rsmi_od_volt_freq_data_t structure @p odv, this function will populate @p + * odv. See ::rsmi_od_volt_freq_data_t for more details. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] odv a pointer to an ::rsmi_od_volt_freq_data_t structure + * @param[inout] odv a pointer to an ::rsmi_od_volt_freq_data_t structure + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_od_volt_info_get(uint32_t dv_ind, rsmi_od_volt_freq_data_t *odv); /** - * @brief This function will retrieve the current valid regions in the - * frequency/voltage space. + * @brief This function will retrieve the current valid regions in the + * frequency/voltage space. * - * @details Given a device index @p dv_ind, a pointer to an unsigned integer - * @p num_regions and a buffer of ::rsmi_freq_volt_region_t structures, @p - * buffer, this function will populate @p buffer with the current - * frequency-volt space regions. The caller should assign @p buffer to memory - * that can be written to by this function. The caller should also - * indicate the number of ::rsmi_freq_volt_region_t structures that can safely - * be written to @p buffer in @p num_regions. + * @details Given a device index @p dv_ind, a pointer to an unsigned integer + * @p num_regions and a buffer of ::rsmi_freq_volt_region_t structures, @p + * buffer, this function will populate @p buffer with the current + * frequency-volt space regions. The caller should assign @p buffer to memory + * that can be written to by this function. The caller should also + * indicate the number of ::rsmi_freq_volt_region_t structures that can safely + * be written to @p buffer in @p num_regions. * - * The number of regions to expect this function provide (@p num_regions) can - * be obtained by calling ::rsmi_dev_od_volt_info_get(). + * The number of regions to expect this function provide (@p num_regions) can + * be obtained by calling ::rsmi_dev_od_volt_info_get(). * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] num_regions As input, this is the number of - * ::rsmi_freq_volt_region_t structures that can be written to @p buffer. As - * output, this is the number of ::rsmi_freq_volt_region_t structures that were - * actually written. + * @param[inout] num_regions As input, this is the number of + * ::rsmi_freq_volt_region_t structures that can be written to @p buffer. As + * output, this is the number of ::rsmi_freq_volt_region_t structures that were + * actually written. + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @param[inout] buffer a caller provided buffer to which - * ::rsmi_freq_volt_region_t structures will be written + * @param[inout] buffer a caller provided buffer to which + * ::rsmi_freq_volt_region_t structures will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_od_volt_curve_regions_get(uint32_t dv_ind, uint32_t *num_regions, rsmi_freq_volt_region_t *buffer); /** - * @brief Get the list of available preset power profiles and an indication of - * which profile is currently active. + * @brief Get the list of available preset power profiles and an indication of + * which profile is currently active. * - * @details Given a device index @p dv_ind and a pointer to a - * ::rsmi_power_profile_status_t @p status, this function will set the bits of - * the ::rsmi_power_profile_status_t.available_profiles bit field of @p status to - * 1 if the profile corresponding to the respective - * ::rsmi_power_profile_preset_masks_t profiles are enabled. For example, if both - * the VIDEO and VR power profiles are available selections, then - * ::RSMI_PWR_PROF_PRST_VIDEO_MASK AND'ed with - * ::rsmi_power_profile_status_t.available_profiles will be non-zero as will - * ::RSMI_PWR_PROF_PRST_VR_MASK AND'ed with - * ::rsmi_power_profile_status_t.available_profiles. Additionally, - * ::rsmi_power_profile_status_t.current will be set to the - * ::rsmi_power_profile_preset_masks_t of the profile that is currently active. + * @details Given a device index @p dv_ind and a pointer to a + * ::rsmi_power_profile_status_t @p status, this function will set the bits of + * the ::rsmi_power_profile_status_t.available_profiles bit field of @p status to + * 1 if the profile corresponding to the respective + * ::rsmi_power_profile_preset_masks_t profiles are enabled. For example, if both + * the VIDEO and VR power profiles are available selections, then + * ::RSMI_PWR_PROF_PRST_VIDEO_MASK AND'ed with + * ::rsmi_power_profile_status_t.available_profiles will be non-zero as will + * ::RSMI_PWR_PROF_PRST_VR_MASK AND'ed with + * ::rsmi_power_profile_status_t.available_profiles. Additionally, + * ::rsmi_power_profile_status_t.current will be set to the + * ::rsmi_power_profile_preset_masks_t of the profile that is currently active. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. - * If a device has more than one sensor, it could be greater than 0. + * @param[in] sensor_ind a 0-based sensor index. Normally, this will be 0. + * If a device has more than one sensor, it could be greater than 0. * - * @param[inout] status a pointer to ::rsmi_power_profile_status_t that will be - * populated by a call to this function + * @param[inout] status a pointer to ::rsmi_power_profile_status_t that will be + * populated by a call to this function + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1718,6 +1951,9 @@ rsmi_dev_power_profile_presets_get(uint32_t dv_ind, uint32_t sensor_ind, * @param[in] perf_lvl the value to which the performance level should be set * * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t @@ -1756,7 +1992,10 @@ rsmi_dev_perf_level_set(int32_t dv_ind, rsmi_dev_perf_level_t perf_lvl); * * @param[in] od the value to which the overdrive level should be set * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t rsmi_dev_overdrive_level_set(int32_t dv_ind, uint32_t od); @@ -1788,6 +2027,12 @@ rsmi_status_t rsmi_dev_overdrive_level_set(int32_t dv_ind, uint32_t od); * @param[in] freq_bitmask A bitmask indicating the indices of the * frequencies that are to be enabled (1) and disabled (0). Only the lowest * ::rsmi_frequencies_t.num_supported bits of this mask are relevant. + * + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_PERMISSION function requires root access + * */ rsmi_status_t rsmi_dev_gpu_clk_freq_set(uint32_t dv_ind, rsmi_clk_type_t clk_type, uint64_t freq_bitmask); @@ -1817,66 +2062,85 @@ rsmi_status_t rsmi_version_get(rsmi_version_t *version); /** - * @brief Get the driver version string for the current system. + * @brief Get the driver version string for the current system. * - * @details Given a software component @p component, a pointer to a char - * buffer, @p ver_str, this function will write the driver version string - * (up to @p len characters) for the current system to @p ver_str. The caller - * must ensure that it is safe to write at least @p len characters to @p - * ver_str. + * @details Given a software component @p component, a pointer to a char + * buffer, @p ver_str, this function will write the driver version string + * (up to @p len characters) for the current system to @p ver_str. The caller + * must ensure that it is safe to write at least @p len characters to @p + * ver_str. * - * @param[in] component The component for which the version string is being - * requested + * @param[in] component The component for which the version string is being + * requested * - * @param[inout] ver_str A pointer to a buffer of char's to which the VBIOS - * name will be written + * @param[inout] ver_str A pointer to a buffer of char's to which the version + * of @p component will be written * - * @param[in] len The number of char's pointed to by @p ver_str which can - * safely be written to by this function. + * @param[in] len the length of the caller provided buffer @p name. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if @p len bytes is not + * large enough to hold the entire name. In this case, only @p len bytes will + * be written. */ rsmi_status_t rsmi_version_str_get(rsmi_sw_component_t component, char *ver_str, uint32_t len); /** - * @brief Get the VBIOS identifer string + * @brief Get the VBIOS identifer string * - * @details Given a device ID @p dv_ind, and a pointer to a char buffer, - * @p vbios, this function will write the VBIOS string (up to @p len - * characters) for device @p dv_ind to @p vbios. The caller must ensure that - * it is safe to write at least @p len characters to @p vbios. + * @details Given a device ID @p dv_ind, and a pointer to a char buffer, + * @p vbios, this function will write the VBIOS string (up to @p len + * characters) for device @p dv_ind to @p vbios. The caller must ensure that + * it is safe to write at least @p len characters to @p vbios. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] vbios A pointer to a buffer of char's to which the VBIOS name - * will be written + * @param[inout] vbios A pointer to a buffer of char's to which the VBIOS name + * will be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @param[in] len The number of char's pointed to by @p vbios which can safely - * be written to by this function. + * @param[in] len The number of char's pointed to by @p vbios which can safely + * be written to by this function. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_vbios_version_get(uint32_t dv_ind, char *vbios, uint32_t len); /** - * @brief Get the firmware versions for a device + * @brief Get the firmware versions for a device * - * @details Given a device ID @p dv_ind, and a pointer to a uint64_t, - * @p fw_version, this function will write the FW Versions as a string (up to @p len - * characters) for device @p dv_ind to @p vbios. The caller must ensure that - * it is safe to write at least @p len characters to @p vbios. + * @details Given a device ID @p dv_ind, and a pointer to a uint64_t, + * @p fw_version, this function will write the FW Versions as a string (up to @p len + * characters) for device @p dv_ind to @p vbios. The caller must ensure that + * it is safe to write at least @p len characters to @p vbios. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] block The firmware block for which the version is being requested + * @param[in] block The firmware block for which the version is being requested * - * @param[inout] fw_version The version for the firmware block + * @param[inout] fw_version The version for the firmware block + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -1893,86 +2157,102 @@ rsmi_dev_firmware_version_get(uint32_t dv_ind, rsmi_fw_block_t block, */ /** - * @brief Retrieve the error counts for a GPU block + * @brief Retrieve the error counts for a GPU block * - * @details Given a device index @p dv_ind, an ::rsmi_gpu_block_t @p block and a - * pointer to an ::rsmi_error_count_t @p ec, this function will write the error - * count values for the GPU block indicated by @p block to memory pointed to by - * @p ec. + * @details Given a device index @p dv_ind, an ::rsmi_gpu_block_t @p block and a + * pointer to an ::rsmi_error_count_t @p ec, this function will write the error + * count values for the GPU block indicated by @p block to memory pointed to by + * @p ec. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] block The block for which error counts should be retrieved + * @param[in] block The block for which error counts should be retrieved * - * @param[inout] ec A pointer to an ::rsmi_error_count_t to which the error - * counts should be written + * @param[inout] ec A pointer to an ::rsmi_error_count_t to which the error + * counts should be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. - * - * ::RSMI_STATUS_NOT_SUPPORTED will be returned if either ECC is not enabled - * for the specified block @p block, or if there is no kernel support for ECC - * for that block. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_ecc_count_get(uint32_t dv_ind, rsmi_gpu_block_t block, rsmi_error_count_t *ec); /** - * @brief Retrieve the enabled ECC bit-mask + * @brief Retrieve the enabled ECC bit-mask * - * @details Given a device index @p dv_ind, and a pointer to a uint64_t @p - * enabled_mask, this function will write bits to memory pointed to by - * @p enabled_blocks. Upon a successful call, @p enabled_blocks can then be - * AND'd with elements of the ::rsmi_gpu_block_t ennumeration to determine if - * the corresponding block has ECC enabled. Note that whether a block has ECC - * enabled or not in the device is independent of whether there is kernel - * support for error counting for that block. Although a block may be enabled, - * but there may not be kernel support for reading error counters for that - * block. + * @details Given a device index @p dv_ind, and a pointer to a uint64_t @p + * enabled_mask, this function will write bits to memory pointed to by + * @p enabled_blocks. Upon a successful call, @p enabled_blocks can then be + * AND'd with elements of the ::rsmi_gpu_block_t ennumeration to determine if + * the corresponding block has ECC enabled. Note that whether a block has ECC + * enabled or not in the device is independent of whether there is kernel + * support for error counting for that block. Although a block may be enabled, + * but there may not be kernel support for reading error counters for that + * block. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] enabled_blocks A pointer to a uint64_t to which the enabled - * blocks bits will be written - * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @param[inout] enabled_blocks A pointer to a uint64_t to which the enabled + * blocks bits will be written. + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid */ rsmi_status_t rsmi_dev_ecc_enabled_get(uint32_t dv_ind, uint64_t *enabled_blocks); /** - * @brief Retrieve the ECC status for a GPU block + * @brief Retrieve the ECC status for a GPU block * - * @details Given a device index @p dv_ind, an ::rsmi_gpu_block_t @p block and - * a pointer to an ::rsmi_ras_err_state_t @p state, this function will write - * the current state for the GPU block indicated by @p block to memory pointed - * to by @p state. + * @details Given a device index @p dv_ind, an ::rsmi_gpu_block_t @p block and + * a pointer to an ::rsmi_ras_err_state_t @p state, this function will write + * the current state for the GPU block indicated by @p block to memory pointed + * to by @p state. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] block The block for which error counts should be retrieved + * @param[in] block The block for which error counts should be retrieved * - * @param[inout] state A pointer to an ::rsmi_ras_err_state_t to which the - * ECC state should be written + * @param[inout] state A pointer to an ::rsmi_ras_err_state_t to which the + * ECC state should be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t rsmi_dev_ecc_status_get(uint32_t dv_ind, rsmi_gpu_block_t block, rsmi_ras_err_state_t *state); /** - * @brief Get a description of a provided RSMI error status + * @brief Get a description of a provided RSMI error status * - * @details Set the provided pointer to a const char *, @p status_string, to - * a string containing a description of the provided error code @p status. + * @details Set the provided pointer to a const char *, @p status_string, to + * a string containing a description of the provided error code @p status. * - * @param[in] status The error status for which a description is desired + * @param[in] status The error status for which a description is desired * - * @param[inout] status_string A pointer to a const char * which will be made - * to point to a description of the provided error code + * @param[inout] status_string A pointer to a const char * which will be made + * to point to a description of the provided error code * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call * */ rsmi_status_t @@ -1988,45 +2268,53 @@ rsmi_status_string(rsmi_status_t status, const char **status_string); */ /** - * @brief Tell if an event group is supported by a given device + * @brief Tell if an event group is supported by a given device * - * @details Given a device index @p dv_ind and an event group specifier @p - * group, tell if @p group type events are supported by the device associated - * with @p dv_ind + * @details Given a device index @p dv_ind and an event group specifier @p + * group, tell if @p group type events are supported by the device associated + * with @p dv_ind * - * @param[in] dv_ind device index of device being queried + * @param[in] dv_ind device index of device being queried * - * @param[in] group ::rsmi_event_group_t identifier of group for which support - * is being queried + * @param[in] group ::rsmi_event_group_t identifier of group for which support + * is being queried * - * @retval - * ::RSMI_STATUS_SUCCESS if the device associatee with @p dv_ind - * support counting events of the type indicated by @p group. - * - * ::RSMI_STATUS_NOT_FOUND If the device does not support event group @p - * group + * @retval ::RSMI_STATUS_SUCCESS if the device associatee with @p dv_ind + * support counting events of the type indicated by @p group. + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * group * */ rsmi_status_t rsmi_dev_counter_group_supported(uint32_t dv_ind, rsmi_event_group_t group); /** - * @brief Create a performance counter object + * @brief Create a performance counter object * - * @details Create a performance counter object of type @p type for the device - * with a device index of @p dv_ind, and write a handle to the object to the - * memory location pointed to by @p evnt_handle. @p evnt_handle can be used - * with other performance event operations. The handle should be deallocated - * with ::rsmi_dev_counter_destroy() when no longer needed. + * @details Create a performance counter object of type @p type for the device + * with a device index of @p dv_ind, and write a handle to the object to the + * memory location pointed to by @p evnt_handle. @p evnt_handle can be used + * with other performance event operations. The handle should be deallocated + * with ::rsmi_dev_counter_destroy() when no longer needed. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] type the type of performance event to create + * @param[in] type the type of performance event to create * - * @param[inout] evnt_handle A pointer to a ::rsmi_event_handle_t which will be - * associated with a newly allocated counter + * @param[inout] evnt_handle A pointer to a ::rsmi_event_handle_t which will be + * associated with a newly allocated counter + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_OUT_OF_RESOURCES unable to allocate memory for counter + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t @@ -2034,32 +2322,36 @@ rsmi_dev_counter_create(uint32_t dv_ind, rsmi_event_type_t type, rsmi_event_handle_t *evnt_handle); /** - * @brief Deallocate a performance counter object + * @brief Deallocate a performance counter object * - * @details Deallocate the performance counter object with the provided - * ::rsmi_event_handle_t @p evnt_handle + * @details Deallocate the performance counter object with the provided + * ::rsmi_event_handle_t @p evnt_handle * - * @param[in] evnt_handle handle to event object to be deallocated + * @param[in] evnt_handle handle to event object to be deallocated * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t rsmi_dev_counter_destroy(rsmi_event_handle_t evnt_handle); /** - * @brief Issue performance counter control commands + * @brief Issue performance counter control commands * - * @details Issue a command @p cmd on the event counter associated with the - * provided handle @p evt_handle. + * @details Issue a command @p cmd on the event counter associated with the + * provided handle @p evt_handle. * - * @param[in] evt_handle an event handle + * @param[in] evt_handle an event handle * - * @param[in] cmd The event counter command to be issued + * @param[in] cmd The event counter command to be issued * - * @param[inout] cmd_args Currently not used. Should be set to NULL. + * @param[inout] cmd_args Currently not used. Should be set to NULL. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t @@ -2067,18 +2359,20 @@ rsmi_counter_control(rsmi_event_handle_t evt_handle, rsmi_counter_command_t cmd, void *cmd_args); /** - * @brief Read the current value of a performance counter + * @brief Read the current value of a performance counter * - * @details Read the current counter value of the counter associated with the - * provided handle @p evt_handle and write the value to the location pointed - * to by @p value. + * @details Read the current counter value of the counter associated with the + * provided handle @p evt_handle and write the value to the location pointed + * to by @p value. * - * @param[in] evt_handle an event handle + * @param[in] evt_handle an event handle * - * @param[inout] value pointer to memory of size of ::rsmi_counter_value_t to - * which the counter value will be written + * @param[inout] value pointer to memory of size of ::rsmi_counter_value_t to + * which the counter value will be written * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_PERMISSION function requires root access * */ rsmi_status_t @@ -2086,21 +2380,22 @@ rsmi_counter_read(rsmi_event_handle_t evt_handle, rsmi_counter_value_t *value); /** - * @brief Get the number of currently available counters + * @brief Get the number of currently available counters * - * @details Given a device index @p dv_ind, a performance event group @p grp, - * and a pointer to a uint32_t @p available, this function will write the - * number of @p grp type counters that are available on the device with index - * @p dv_ind to the memory that @p available points to. + * @details Given a device index @p dv_ind, a performance event group @p grp, + * and a pointer to a uint32_t @p available, this function will write the + * number of @p grp type counters that are available on the device with index + * @p dv_ind to the memory that @p available points to. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[in] grp an event device group + * @param[in] grp an event device group * - * @param[inout] available A pointer to a uint32_t to which the number of - * available counters will be written + * @param[inout] available A pointer to a uint32_t to which the number of + * available counters will be written * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t @@ -2116,55 +2411,55 @@ rsmi_counter_available_counters_get(uint32_t dv_ind, */ /** - * @brief Get process information about processes currently using GPU + * @brief Get process information about processes currently using GPU * - * @details Given a non-NULL pointer to an array @p procs of - * ::rsmi_process_info_t's, of length *@p num_items, this function will write - * up to *@p num_items instances of ::rsmi_process_info_t to the memory pointed - * to by @p procs. These instances contain information about each process - * utilizing a GPU. If @p procs is not NULL, @p num_items will be updated with - * the number of processes actually written. If @p procs is NULL, @p num_items - * will be updated with the number of processes for which there is current - * process information. Calling this function with @p procs being NULL is a way - * to determine how much memory should be allocated for when @p procs is not - * NULL. + * @details Given a non-NULL pointer to an array @p procs of + * ::rsmi_process_info_t's, of length *@p num_items, this function will write + * up to *@p num_items instances of ::rsmi_process_info_t to the memory pointed + * to by @p procs. These instances contain information about each process + * utilizing a GPU. If @p procs is not NULL, @p num_items will be updated with + * the number of processes actually written. If @p procs is NULL, @p num_items + * will be updated with the number of processes for which there is current + * process information. Calling this function with @p procs being NULL is a way + * to determine how much memory should be allocated for when @p procs is not + * NULL. * - * @param[inout] procs a pointer to memory provided by the caller to which - * process information will be written. This may be NULL in which case only @p - * num_items will be updated with the number of processes found. + * @param[inout] procs a pointer to memory provided by the caller to which + * process information will be written. This may be NULL in which case only @p + * num_items will be updated with the number of processes found. * - * @param[inout] num_items A pointer to a uint32_t, which on input, should - * contain the amount of memory in ::rsmi_process_info_t's which have been - * provided by the @p procs argument. On output, if @p procs is non-NULL, this - * will be updated with the number ::rsmi_process_info_t structs actually - * written. If @p procs is NULL, this argument will be updated with the number - * processes for which there is information. + * @param[inout] num_items A pointer to a uint32_t, which on input, should + * contain the amount of memory in ::rsmi_process_info_t's which have been + * provided by the @p procs argument. On output, if @p procs is non-NULL, this + * will be updated with the number ::rsmi_process_info_t structs actually + * written. If @p procs is NULL, this argument will be updated with the number + * processes for which there is information. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call - * - * ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if there were more - * processes for which information was available, but not enough space was - * provided as indicated by @p procs and @p num_items, on input. + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_INSUFFICIENT_SIZE is returned if there were more + * processes for which information was available, but not enough space was + * provided as indicated by @p procs and @p num_items, on input. */ rsmi_status_t rsmi_compute_process_info_get(rsmi_process_info_t *procs, uint32_t *num_items); /** - * @brief Get process information about a specific process + * @brief Get process information about a specific process * - * @details Given a pointer to an ::rsmi_process_info_t @p proc and a process id - * @p pid, this function will write the process information for @p pid, if - * available, to the memory pointed to by @p proc. + * @details Given a pointer to an ::rsmi_process_info_t @p proc and a process id + * @p pid, this function will write the process information for @p pid, if + * available, to the memory pointed to by @p proc. * - * @param[in] pid The process ID for which process information is being requested + * @param[in] pid The process ID for which process information is being requested * - * @param[inout] proc a pointer to a ::rsmi_process_info_t to which - * process information for @p pid will be written if it is found. + * @param[inout] proc a pointer to a ::rsmi_process_info_t to which + * process information for @p pid will be written if it is found. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call - * - * ::RSMI_STATUS_NOT_FOUND is returned if there was no process information - * found for the provided @p pid + * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid + * @retval ::RSMI_STATUS_NOT_FOUND is returned if there was no process information + * found for the provided @p pid * */ rsmi_status_t @@ -2180,19 +2475,26 @@ rsmi_compute_process_info_by_pid_get(uint32_t pid, rsmi_process_info_t *proc); */ /** - * @brief Retrieve the XGMI error status for a device + * @brief Retrieve the XGMI error status for a device * - * @details Given a device index @p dv_ind, and a pointer to an - * ::rsmi_xgmi_status_t @p status, this function will write the current XGMI - * error state ::rsmi_xgmi_status_t for the device @p dv_ind to the memory - * pointed to by @p status. + * @details Given a device index @p dv_ind, and a pointer to an + * ::rsmi_xgmi_status_t @p status, this function will write the current XGMI + * error state ::rsmi_xgmi_status_t for the device @p dv_ind to the memory + * pointed to by @p status. * - * @param[in] dv_ind a device index + * @param[in] dv_ind a device index * - * @param[inout] status A pointer to an ::rsmi_xgmi_status_t to which the - * XGMI error state should be written + * @param[inout] status A pointer to an ::rsmi_xgmi_status_t to which the + * XGMI error state should be written + * If this parameter is nullptr, this function will return + * ::RSMI_STATUS_INVALID_ARGS if the function is supported with the provided, + * arguments and ::RSMI_STATUS_NOT_SUPPORTED if it is not supported with the + * provided arguments. * - * @retval ::RSMI_STATUS_SUCCESS is returned upon successful call. + * @retval ::RSMI_STATUS_SUCCESS call was successful + * @retval ::RSMI_STATUS_NOT_SUPPORTED installed software or hardware does not + * support this function with the given arguments + * @retval ::RSMI_STATUS_INVALID_ARGS the provided arguments are not valid * */ rsmi_status_t diff --git a/include/rocm_smi/rocm_smi_device.h b/include/rocm_smi/rocm_smi_device.h index cc9ff84f39..42e13c2ca6 100755 --- a/include/rocm_smi/rocm_smi_device.h +++ b/include/rocm_smi/rocm_smi_device.h @@ -194,6 +194,8 @@ class Device { SupportedFuncMap *supported_funcs(void) {return &supported_funcs_;} void fillSupportedFuncs(void); void DumpSupportedFunctions(void); + bool DeviceAPISupported(std::string name, uint64_t variant, + uint64_t sub_variant); private: std::shared_ptr monitor_; diff --git a/src/rocm_smi.cc b/src/rocm_smi.cc index c7449c144e..d2c6b793e7 100755 --- a/src/rocm_smi.cc +++ b/src/rocm_smi.cc @@ -118,6 +118,34 @@ static rsmi_status_t handleException() { amd::smi::pthread_wrap _pw(*get_mutex(dv_ind)); \ amd::smi::ScopedPthread _lock(_pw); +/* This group of macros is used to facilitate checking of support for rsmi_dev* + * "getter" functions. When the return buffer is set to nullptr, the macro will + * check the previously gathered device support data to see if the function, + * with possible variants (e.g., memory types, firware types,...) and + * subvariants (e.g. monitors/sensors) are supported. + */ +// This macro assumes dev already available +#define CHK_API_SUPPORT_ONLY(RT_PTR, VR, SUB_VR) \ + if ((RT_PTR) == nullptr) { \ + if (!dev->DeviceAPISupported(__FUNCTION__, (VR), (SUB_VR))) { \ + return RSMI_STATUS_NOT_SUPPORTED; \ + } \ + return RSMI_STATUS_INVALID_ARGS; \ + } \ + +#define CHK_SUPPORT(RT_PTR, VR, SUB_VR) \ + GET_DEV_FROM_INDX \ + CHK_API_SUPPORT_ONLY(RT_PTR, VR, SUB_VR) + +#define CHK_SUPPORT_NAME_ONLY(RT_PTR) \ + CHK_SUPPORT((RT_PTR), RSMI_DEFAULT_VARIANT, RSMI_DEFAULT_VARIANT) \ + +#define CHK_SUPPORT_VAR(RT_PTR, VR) \ + CHK_SUPPORT((RT_PTR), (VR), RSMI_DEFAULT_VARIANT) \ + +#define CHK_SUPPORT_SUBVAR_ONLY(RT_PTR, SUB_VR) \ + CHK_SUPPORT((RT_PTR), RSMI_DEFAULT_VARIANT, (SUB_VR)) \ + static pthread_mutex_t *get_mutex(uint32_t dv_ind) { amd::smi::RocmSMI& smi = amd::smi::RocmSMI::getInstance(); @@ -392,7 +420,7 @@ static rsmi_status_t set_dev_mon_value(amd::smi::MonitorTypes type, assert(dev->monitor() != nullptr); - int ret = dev->monitor()->writeMonitor(type, sensor_ind, + int ret = dev->monitor()->writeMonitor(type, sensor_ind, std::to_string(val)); return errno_to_rsmi_status(ret); @@ -407,10 +435,8 @@ static rsmi_status_t get_power_mon_value(amd::smi::PowerMonTypes type, } uint32_t ret = smi.DiscoverAMDPowerMonitors(); - if (ret == EACCES) { - return RSMI_STATUS_PERMISSION; - } else if (ret != 0) { - return RSMI_STATUS_FILE_ERROR; + if (ret != 0) { + return errno_to_rsmi_status(ret); } std::shared_ptr dev = smi.monitor_devices()[dv_ind]; @@ -475,20 +501,15 @@ rsmi_num_monitor_devices(uint32_t *num_devices) { rsmi_status_t rsmi_dev_ecc_enabled_get(uint32_t dv_ind, uint64_t *enabled_blks) { TRY - if (enabled_blks == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } rsmi_status_t ret; std::string feature_line; std::string tmp_str; + CHK_SUPPORT_NAME_ONLY(enabled_blks) DEVICE_MUTEX ret = get_dev_value_line(amd::smi::kDevErrCntFeatures, dv_ind, &feature_line); - if (ret == RSMI_STATUS_FILE_ERROR) { - return RSMI_STATUS_NOT_SUPPORTED; - } if (ret != RSMI_STATUS_SUCCESS) { return ret; } @@ -526,9 +547,9 @@ static_assert(RSMI_RAS_ERR_STATE_LAST == RSMI_RAS_ERR_STATE_ENABLED, rsmi_status_t rsmi_dev_ecc_status_get(uint32_t dv_ind, rsmi_gpu_block_t block, rsmi_ras_err_state_t *state) { TRY - if (state == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + + CHK_SUPPORT_NAME_ONLY(state) + if (!is_power_of_2(block)) { return RSMI_STATUS_INVALID_ARGS; } @@ -560,9 +581,8 @@ rsmi_dev_ecc_count_get(uint32_t dv_ind, rsmi_gpu_block_t block, rsmi_status_t ret; TRY - if (ec == nullptr || block > RSMI_GPU_BLOCK_LAST) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_VAR(ec, block) + amd::smi::DevInfoTypes type; switch (block) { @@ -611,15 +631,12 @@ rsmi_dev_ecc_count_get(uint32_t dv_ind, rsmi_gpu_block_t block, return ret; CATCH } + rsmi_status_t rsmi_dev_pci_id_get(uint32_t dv_ind, uint64_t *bdfid) { TRY - if (bdfid == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - GET_DEV_FROM_INDX - + CHK_SUPPORT_NAME_ONLY(bdfid) DEVICE_MUTEX *bdfid = dev->bdfid(); @@ -678,24 +695,28 @@ get_id(uint32_t dv_ind, amd::smi::DevInfoTypes typ, uint16_t *id) { rsmi_status_t rsmi_dev_id_get(uint32_t dv_ind, uint16_t *id) { + CHK_SUPPORT_NAME_ONLY(id) DEVICE_MUTEX return get_id(dv_ind, amd::smi::kDevDevID, id); } rsmi_status_t rsmi_dev_subsystem_id_get(uint32_t dv_ind, uint16_t *id) { + CHK_SUPPORT_NAME_ONLY(id) DEVICE_MUTEX return get_id(dv_ind, amd::smi::kDevSubSysDevID, id); } rsmi_status_t rsmi_dev_vendor_id_get(uint32_t dv_ind, uint16_t *id) { + CHK_SUPPORT_NAME_ONLY(id) DEVICE_MUTEX return get_id(dv_ind, amd::smi::kDevVendorID, id); } rsmi_status_t rsmi_dev_subsystem_vendor_id_get(uint32_t dv_ind, uint16_t *id) { + CHK_SUPPORT_NAME_ONLY(id) DEVICE_MUTEX return get_id(dv_ind, amd::smi::kDevSubSysVendorID, id); } @@ -704,6 +725,8 @@ rsmi_status_t rsmi_dev_perf_level_get(uint32_t dv_ind, rsmi_dev_perf_level_t *perf) { TRY std::string val_str; + + CHK_SUPPORT_NAME_ONLY(perf) DEVICE_MUTEX rsmi_status_t ret = get_dev_value_str(amd::smi::kDevPerfLevel, dv_ind, @@ -722,6 +745,7 @@ rsmi_status_t rsmi_dev_overdrive_level_get(uint32_t dv_ind, uint32_t *od) { TRY std::string val_str; + CHK_SUPPORT_NAME_ONLY(od) DEVICE_MUTEX rsmi_status_t ret = get_dev_value_str(amd::smi::kDevOverDriveLevel, dv_ind, @@ -1050,6 +1074,8 @@ rsmi_dev_gpu_clk_freq_get(uint32_t dv_ind, rsmi_clk_type_t clk_type, TRY amd::smi::DevInfoTypes dev_type; + CHK_SUPPORT_VAR(f, clk_type) + switch (clk_type) { case RSMI_CLK_TYPE_SYS: dev_type = amd::smi::kDevGPUSClk; @@ -1082,12 +1108,8 @@ rsmi_dev_firmware_version_get(uint32_t dv_ind, rsmi_fw_block_t block, uint64_t *fw_version) { rsmi_status_t ret; - if (fw_version == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - TRY - GET_DEV_FROM_INDX + CHK_SUPPORT_VAR(fw_version, block) std::string val_str; amd::smi::DevInfoTypes dev_type; @@ -1439,7 +1461,9 @@ rsmi_dev_name_get(uint32_t dv_ind, char *name, size_t len) { rsmi_status_t ret; TRY - if (name == nullptr || len == 0) { + CHK_SUPPORT_NAME_ONLY(name) + + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } @@ -1453,9 +1477,8 @@ rsmi_dev_name_get(uint32_t dv_ind, char *name, size_t len) { rsmi_status_t rsmi_dev_brand_get(uint32_t dv_ind, char *brand, uint32_t len) { - GET_DEV_FROM_INDX - // Return 'invalid args' if arguments are invalid - if (brand == nullptr || len == 0) { + CHK_SUPPORT_NAME_ONLY(brand) + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } std::map brand_names = { @@ -1496,14 +1519,13 @@ rsmi_dev_brand_get(uint32_t dv_ind, char *brand, uint32_t len) { rsmi_status_t rsmi_dev_vram_vendor_get(uint32_t dv_ind, char *brand, uint32_t len) { - if (brand == nullptr || len == 0) { + TRY + CHK_SUPPORT_NAME_ONLY(brand) + + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } - - TRY - GET_DEV_FROM_INDX std::string val_str; - DEVICE_MUTEX int ret = dev->readDevInfo(amd::smi::kDevVramVendor, &val_str); @@ -1528,7 +1550,9 @@ rsmi_dev_subsystem_name_get(uint32_t dv_ind, char *name, size_t len) { rsmi_status_t ret; TRY - if (name == nullptr || len == 0) { + CHK_SUPPORT_NAME_ONLY(name) + + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } @@ -1544,8 +1568,7 @@ rsmi_dev_drm_render_minor_get(uint32_t dv_ind, uint32_t *minor) { rsmi_status_t ret; TRY - if (minor == nullptr) - return RSMI_STATUS_INVALID_ARGS; + CHK_SUPPORT_NAME_ONLY(minor) DEVICE_MUTEX ret = get_dev_drm_render_minor(dv_ind, minor); @@ -1558,7 +1581,9 @@ rsmi_dev_vendor_name_get(uint32_t dv_ind, char *name, size_t len) { rsmi_status_t ret; TRY - if (name == nullptr || len == 0) { + CHK_SUPPORT_NAME_ONLY(name) + + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } @@ -1572,11 +1597,7 @@ rsmi_dev_vendor_name_get(uint32_t dv_ind, char *name, size_t len) { rsmi_status_t rsmi_dev_pci_bandwidth_get(uint32_t dv_ind, rsmi_pcie_bandwidth_t *b) { TRY - assert(b != nullptr); - - if (b == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_NAME_ONLY(b) DEVICE_MUTEX @@ -1632,9 +1653,13 @@ rsmi_dev_pci_throughput_get(uint32_t dv_ind, uint64_t *sent, uint64_t *received, uint64_t *max_pkt_sz) { TRY rsmi_status_t ret; - std::string val_str; + // We don't do CHK_SUPPORT_NAME_ONLY in this case as the user may + // choose to have any of the inout parameters as 0. Let the return code from + // get_dev_value_line() tell if this function is supported or not. + // CHK_SUPPORT_NAME_ONLY(...) + DEVICE_MUTEX ret = get_dev_value_line(amd::smi::kDevPCIEThruPut, dv_ind, &val_str); @@ -1664,10 +1689,6 @@ rsmi_dev_temp_metric_get(uint32_t dv_ind, uint32_t sensor_type, rsmi_temperature_metric_t metric, int64_t *temperature) { TRY - if (temperature == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - rsmi_status_t ret; amd::smi::MonitorTypes mon_type; @@ -1732,6 +1753,9 @@ rsmi_dev_temp_metric_get(uint32_t dv_ind, uint32_t sensor_type, uint32_t sensor_index = m->getSensorIndex(static_cast(sensor_type)); + + CHK_API_SUPPORT_ONLY(temperature, metric, sensor_index) + ret = get_dev_mon_value(mon_type, dv_ind, sensor_index, temperature); return ret; @@ -1742,14 +1766,12 @@ rsmi_status_t rsmi_dev_fan_speed_get(uint32_t dv_ind, uint32_t sensor_ind, int64_t *speed) { TRY - if (speed == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - rsmi_status_t ret; ++sensor_ind; // fan sysfs files have 1-based indices + CHK_SUPPORT_SUBVAR_ONLY(speed, sensor_ind) + DEVICE_MUTEX ret = get_dev_mon_value(amd::smi::kMonFanSpeed, dv_ind, sensor_ind, speed); @@ -1762,11 +1784,10 @@ rsmi_status_t rsmi_dev_fan_rpms_get(uint32_t dv_ind, uint32_t sensor_ind, int64_t *speed) { TRY - if (speed == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } ++sensor_ind; // fan sysfs files have 1-based indices + CHK_SUPPORT_SUBVAR_ONLY(speed, sensor_ind) + rsmi_status_t ret; DEVICE_MUTEX @@ -1780,7 +1801,6 @@ rsmi_dev_fan_rpms_get(uint32_t dv_ind, uint32_t sensor_ind, int64_t *speed) { rsmi_status_t rsmi_dev_fan_reset(uint32_t dv_ind, uint32_t sensor_ind) { TRY - rsmi_status_t ret; ++sensor_ind; // fan sysfs files have 1-based indices @@ -1789,7 +1809,6 @@ rsmi_dev_fan_reset(uint32_t dv_ind, uint32_t sensor_ind) { ret = set_dev_mon_value(amd::smi::kMonFanCntrlEnable, dv_ind, sensor_ind, 2); - return ret; CATCH @@ -1837,15 +1856,9 @@ rsmi_status_t rsmi_dev_fan_speed_max_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *max_speed) { TRY - - if (max_speed == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - - ++sensor_ind; // fan sysfs files have 1-based indices - rsmi_status_t ret; - + ++sensor_ind; // fan sysfs files have 1-based indices + CHK_SUPPORT_SUBVAR_ONLY(max_speed, sensor_ind) DEVICE_MUTEX ret = get_dev_mon_value(amd::smi::kMonMaxFanSpeed, dv_ind, sensor_ind, @@ -1859,7 +1872,7 @@ rsmi_status_t rsmi_dev_od_volt_info_get(uint32_t dv_ind, rsmi_od_volt_freq_data_t *odv) { TRY DEVICE_MUTEX - + CHK_SUPPORT_NAME_ONLY(odv) rsmi_status_t ret = get_od_clk_volt_info(dv_ind, odv); return ret; @@ -1867,10 +1880,12 @@ rsmi_dev_od_volt_info_get(uint32_t dv_ind, rsmi_od_volt_freq_data_t *odv) { } rsmi_status_t rsmi_dev_od_volt_curve_regions_get(uint32_t dv_ind, - uint32_t *num_regions, rsmi_freq_volt_region_t *buffer) { + uint32_t *num_regions, rsmi_freq_volt_region_t *buffer) { TRY - if (buffer == nullptr || num_regions == nullptr || *num_regions == 0) { + CHK_SUPPORT_NAME_ONLY((num_regions == nullptr || buffer == nullptr) ? + nullptr : num_regions) + if (*num_regions == 0) { return RSMI_STATUS_INVALID_ARGS; } @@ -1885,12 +1900,9 @@ rsmi_status_t rsmi_dev_power_max_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *power) { TRY - if (power == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - (void)sensor_ind; // Not used yet // ++sensor_ind; // power sysfs files have 1-based indices + CHK_SUPPORT_NAME_ONLY(power) rsmi_status_t ret; @@ -1905,11 +1917,9 @@ rsmi_status_t rsmi_dev_power_ave_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *power) { TRY - if (power == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } ++sensor_ind; // power sysfs files have 1-based indices + CHK_SUPPORT_SUBVAR_ONLY(power, sensor_ind) rsmi_status_t ret; DEVICE_MUTEX @@ -1923,11 +1933,8 @@ rsmi_status_t rsmi_dev_power_cap_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *cap) { TRY - if (cap == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - ++sensor_ind; // power sysfs files have 1-based indices + CHK_SUPPORT_SUBVAR_ONLY(cap, sensor_ind) rsmi_status_t ret; @@ -1943,12 +1950,9 @@ rsmi_dev_power_cap_range_get(uint32_t dv_ind, uint32_t sensor_ind, uint64_t *max, uint64_t *min) { TRY - if (max == nullptr || min == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - ++sensor_ind; // power sysfs files have 1-based indices - + CHK_SUPPORT_SUBVAR_ONLY((min == nullptr || max == nullptr ?nullptr : min), + sensor_ind) rsmi_status_t ret; DEVICE_MUTEX @@ -1958,7 +1962,6 @@ rsmi_dev_power_cap_range_get(uint32_t dv_ind, uint32_t sensor_ind, ret = get_dev_mon_value(amd::smi::kMonPowerCapMin, dv_ind, sensor_ind, min); } - return ret; CATCH } @@ -1993,11 +1996,12 @@ rsmi_dev_power_cap_set(uint32_t dv_ind, uint32_t sensor_ind, uint64_t cap) { } rsmi_status_t -rsmi_dev_power_profile_presets_get(uint32_t dv_ind, uint32_t sensor_ind, +rsmi_dev_power_profile_presets_get(uint32_t dv_ind, uint32_t reserved, rsmi_power_profile_status_t *status) { TRY - ++sensor_ind; // power sysfs files have 1-based indices + (void)reserved; + CHK_SUPPORT_NAME_ONLY(status) DEVICE_MUTEX rsmi_status_t ret = get_power_profiles(dv_ind, status, nullptr); @@ -2025,9 +2029,7 @@ rsmi_dev_memory_total_get(uint32_t dv_ind, rsmi_memory_type_t mem_type, rsmi_status_t ret; amd::smi::DevInfoTypes mem_type_file; - if (total == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_VAR(total, mem_type) switch (mem_type) { case RSMI_MEM_TYPE_GTT: @@ -2060,9 +2062,7 @@ rsmi_dev_memory_usage_get(uint32_t dv_ind, rsmi_memory_type_t mem_type, rsmi_status_t ret; amd::smi::DevInfoTypes mem_type_file; - if (used == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_VAR(used, mem_type) switch (mem_type) { case RSMI_MEM_TYPE_GTT: @@ -2097,6 +2097,7 @@ rsmi_dev_memory_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent) { if (busy_percent == nullptr) { return RSMI_STATUS_INVALID_ARGS; } + CHK_SUPPORT_NAME_ONLY(busy_percent) uint64_t tmp_util = 0; @@ -2199,6 +2200,8 @@ rsmi_dev_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent) { TRY std::string val_str; + CHK_SUPPORT_NAME_ONLY(busy_percent) + DEVICE_MUTEX rsmi_status_t ret = get_dev_value_str(amd::smi::kDevUsage, dv_ind, &val_str); @@ -2217,12 +2220,13 @@ rsmi_dev_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent) { rsmi_status_t rsmi_dev_vbios_version_get(uint32_t dv_ind, char *vbios, uint32_t len) { - if (vbios == nullptr || len == 0) { + TRY + CHK_SUPPORT_NAME_ONLY(vbios) + + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } - TRY - GET_DEV_FROM_INDX std::string val_str; DEVICE_MUTEX @@ -2313,7 +2317,8 @@ rsmi_version_str_get(rsmi_sw_component_t component, char *ver_str, rsmi_status_t rsmi_dev_serial_number_get(uint32_t dv_ind, char *serial_num, uint32_t len) { - if (serial_num == nullptr || len == 0) { + CHK_SUPPORT_NAME_ONLY(serial_num) + if (len == 0) { return RSMI_STATUS_INVALID_ARGS; } @@ -2342,6 +2347,8 @@ rsmi_status_t rsmi_dev_serial_number_get(uint32_t dv_ind, rsmi_status_t rsmi_dev_pci_replay_counter_get(uint32_t dv_ind, uint64_t *counter) { TRY + CHK_SUPPORT_NAME_ONLY(counter) + DEVICE_MUTEX rsmi_status_t ret; @@ -2357,9 +2364,7 @@ rsmi_dev_unique_id_get(uint32_t dv_ind, uint64_t *unique_id) { DEVICE_MUTEX rsmi_status_t ret; - if (unique_id == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_NAME_ONLY(unique_id) ret = get_dev_value_int(amd::smi::kDevUniqueId, dv_ind, unique_id); return ret; @@ -2372,14 +2377,10 @@ rsmi_dev_counter_create(uint32_t dv_ind, rsmi_event_type_t type, TRY DEVICE_MUTEX REQUIRE_ROOT_ACCESS - CHECK_DV_IND_RANGE - if (evnt_handle == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } - if (type < RSMI_EVNT_FIRST || type > RSMI_EVNT_LAST) { - return RSMI_STATUS_INVALID_ARGS; - } + // Note we don't need to pass in the variant to CHK_SUPPORT_VAR because + // the success of this call doesn't depend on a sysfs file existing. + CHK_SUPPORT_NAME_ONLY(evnt_handle) *evnt_handle = reinterpret_cast( new amd::smi::evt::Event(type, dv_ind)); @@ -2480,9 +2481,7 @@ rsmi_counter_available_counters_get(uint32_t dv_ind, rsmi_status_t ret; TRY - if (available == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_VAR(available, grp) DEVICE_MUTEX uint64_t val; @@ -2551,10 +2550,7 @@ rsmi_dev_memory_reserved_pages_get(uint32_t dv_ind, uint32_t *num_pages, TRY rsmi_status_t ret; - - if (num_pages == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_NAME_ONLY(num_pages) std::vector val_vec; @@ -2642,9 +2638,7 @@ rsmi_dev_xgmi_error_status(uint32_t dv_ind, rsmi_xgmi_status_t *status) { TRY DEVICE_MUTEX - if (status == nullptr) { - return RSMI_STATUS_INVALID_ARGS; - } + CHK_SUPPORT_NAME_ONLY(status) rsmi_status_t ret; uint64_t status_code; @@ -2685,13 +2679,9 @@ rsmi_dev_xgmi_error_reset(uint32_t dv_ind) { rsmi_status_t ret; uint64_t status_code; + // Reading xgmi_error resets it ret = get_dev_value_int(amd::smi::kDevXGMIError, dv_ind, &status_code); - - if (ret != RSMI_STATUS_SUCCESS) { - return ret; - } - - return RSMI_STATUS_SUCCESS; + return ret; CATCH } @@ -2927,8 +2917,6 @@ rsmi_func_iter_next(rsmi_func_id_iter_handle_t handle) { } break; - break; - default: return RSMI_STATUS_INVALID_ARGS; } diff --git a/src/rocm_smi_device.cc b/src/rocm_smi_device.cc index 5e55886b8a..81318667a0 100755 --- a/src/rocm_smi_device.cc +++ b/src/rocm_smi_device.cc @@ -56,6 +56,7 @@ #include #include #include +#include #include "rocm_smi/rocm_smi_main.h" #include "rocm_smi/rocm_smi_device.h" @@ -913,6 +914,65 @@ void Device::fillSupportedFuncs(void) { // DumpSupportedFunctions(); } +bool Device::DeviceAPISupported(std::string name, uint64_t variant, + uint64_t sub_variant) { + SupportedFuncMapIt func_it; + VariantMapIt var_it; + SubVariantIt sub_var_it; + + fillSupportedFuncs(); + func_it = supported_funcs_.find(name); + + if (func_it == supported_funcs_.end()) { + return false; + } + + if (variant != RSMI_DEFAULT_VARIANT) { + // if variant is != RSMI_DEFAULT_VARIANT, we should not have a nullptr + assert(func_it->second != nullptr); + var_it = func_it->second->find(variant); + + if (var_it == func_it->second->end()) { + return false; + } + + if (sub_variant == RSMI_DEFAULT_VARIANT) { + return true; + } else { // sub_variant != RSMI_DEFAULT_VARIANT + // if variant is != RSMI_DEFAULT_VARIANT, we should not have a nullptr + assert(var_it->second != nullptr); + + sub_var_it = std::find(var_it->second->begin(), + var_it->second->end(), sub_variant); + if (sub_var_it == var_it->second->end()) { + return false; + } else { + return true; + } + } + } else { // variant == RSMI_DEFAULT_VARIANT + if (func_it->second != nullptr) { + var_it = func_it->second->find(variant); + } + if (sub_variant == RSMI_DEFAULT_VARIANT) { + return true; + } else { // sub_variant != RSMI_DEFAULT_VARIANT + if (func_it->second == nullptr) { + return false; + } + sub_var_it = std::find(var_it->second->begin(), + var_it->second->end(), sub_variant); + if (sub_var_it == var_it->second->end()) { + return false; + } else { + return true; + } + } + } + assert(!"We should not reach here"); + return false; +} + #undef RET_IF_NONZERO } // namespace smi } // namespace amd diff --git a/tests/rocm_smi_test/functional/err_cnt_read.cc b/tests/rocm_smi_test/functional/err_cnt_read.cc index 834914ba9c..9b1a8b6e93 100755 --- a/tests/rocm_smi_test/functional/err_cnt_read.cc +++ b/tests/rocm_smi_test/functional/err_cnt_read.cc @@ -98,9 +98,18 @@ void TestErrCntRead::Run(void) { std::cout << "\t**Error Count Enabled Mask get is not supported on this machine" << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_ecc_enabled_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + continue; } else { CHK_ERR_ASRT(err) + + // Verify api support checking functionality is working + err = rsmi_dev_ecc_enabled_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); + IF_VERB(STANDARD) { std::cout << "Block Error Mask: 0x" << std::hex << enabled_mask << std::endl; @@ -116,6 +125,10 @@ void TestErrCntRead::Run(void) { GetBlockNameStr(static_cast(b)) << " block: " << GetErrStateNameStr(err_state) << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_ecc_status_get(i, static_cast(b), + nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); err = rsmi_dev_ecc_count_get(i, static_cast(b), &ec); @@ -123,6 +136,11 @@ void TestErrCntRead::Run(void) { std::cout << "\t**Error Count for " << GetBlockNameStr(static_cast(b)) << ": Not supported for this device" << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_ecc_count_get(i, static_cast(b), + nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + } else { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { @@ -133,6 +151,11 @@ void TestErrCntRead::Run(void) { << std::endl; std::cout << "\t\tUncorrectable errors: " << ec.uncorrectable_err << std::endl; + + // Verify api support checking functionality is working + err = rsmi_dev_ecc_count_get(i, static_cast(b), + nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/fan_read.cc b/tests/rocm_smi_test/functional/fan_read.cc index 0e0d6ba35d..a370d98031 100755 --- a/tests/rocm_smi_test/functional/fan_read.cc +++ b/tests/rocm_smi_test/functional/fan_read.cc @@ -99,12 +99,20 @@ void TestFanRead::Run(void) { } err = rsmi_dev_fan_speed_get(i, 0, &val_i64); CHK_ERR_ASRT(err) + + // Verify api support checking functionality is working + err = rsmi_dev_fan_speed_get(i, 0, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); + err = rsmi_dev_fan_speed_max_get(i, 0, &val_ui64); CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << val_i64/static_cast(val_ui64)*100; std::cout << "% ("<< val_i64 << "/" << val_ui64 << ")" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_fan_speed_max_get(i, 0, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); IF_VERB(STANDARD) { std::cout << "\t**Current fan RPMs: "; @@ -114,5 +122,9 @@ void TestFanRead::Run(void) { IF_VERB(STANDARD) { std::cout << val_i64 << std::endl; } + + // Verify api support checking functionality is working + err = rsmi_dev_fan_rpms_get(i, 0, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } diff --git a/tests/rocm_smi_test/functional/frequencies_read.cc b/tests/rocm_smi_test/functional/frequencies_read.cc index cf604f3b3b..959f789b0c 100755 --- a/tests/rocm_smi_test/functional/frequencies_read.cc +++ b/tests/rocm_smi_test/functional/frequencies_read.cc @@ -113,15 +113,21 @@ void TestFrequenciesRead::Run(void) { for (uint32_t i = 0; i < num_monitor_devs(); ++i) { auto freq_output = [&](rsmi_clk_type_t t, const char *name) { err = rsmi_dev_gpu_clk_freq_get(i, t, &f); - if (err == RSMI_STATUS_NOT_SUPPORTED || err == RSMI_STATUS_FILE_ERROR) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Get " << name << ": Not supported on this machine" << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_gpu_clk_freq_get(i, t, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Supported " << name << " clock frequencies: "; std::cout << f.num_supported << std::endl; print_frequencies(&f); + // Verify api support checking functionality is working + err = rsmi_dev_gpu_clk_freq_get(i, t, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } }; @@ -135,15 +141,21 @@ void TestFrequenciesRead::Run(void) { freq_output(RSMI_CLK_TYPE_SOC, "SOC Clock"); err = rsmi_dev_pci_bandwidth_get(i, &b); - if (err == RSMI_STATUS_NOT_SUPPORTED || err == RSMI_STATUS_FILE_ERROR) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Get PCIE Bandwidth: Not supported on this machine" << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_pci_bandwidth_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Supported PCIe bandwidths: "; std::cout << b.transfer_rate.num_supported << std::endl; print_frequencies(&b.transfer_rate, b.lanes); + // Verify api support checking functionality is working + err = rsmi_dev_pci_bandwidth_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/frequencies_read_write.cc b/tests/rocm_smi_test/functional/frequencies_read_write.cc index 0961c98850..5eb8786be1 100755 --- a/tests/rocm_smi_test/functional/frequencies_read_write.cc +++ b/tests/rocm_smi_test/functional/frequencies_read_write.cc @@ -106,8 +106,7 @@ void TestFrequenciesReadWrite::Run(void) { auto freq_read = [&]() -> bool { ret = rsmi_dev_gpu_clk_freq_get(dv_ind, rsmi_clk, &f); - if (ret == RSMI_STATUS_NOT_SUPPORTED || - ret == RSMI_STATUS_FILE_ERROR) { + if (ret == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Set " << FreqEnumToStr(rsmi_clk) << ": Not supported on this machine" << std::endl; return false; diff --git a/tests/rocm_smi_test/functional/id_info_read.cc b/tests/rocm_smi_test/functional/id_info_read.cc index 95bf7bc0dc..834c76683e 100755 --- a/tests/rocm_smi_test/functional/id_info_read.cc +++ b/tests/rocm_smi_test/functional/id_info_read.cc @@ -101,130 +101,202 @@ void TestIdInfoRead::Run(void) { // Get the device ID, name, vendor ID and vendor name for the device err = rsmi_dev_id_get(i, &id); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + rsmi_status_t ret; + // Verify api support checking functionality is working + ret = rsmi_dev_id_get(i, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) + IF_VERB(STANDARD) { std::cout << "\t**Device ID: 0x" << std::hex << id << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_name_get(i, buffer, kBufferLen); - if (err == RSMI_STATUS_NOT_FOUND) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Device Marketing name not found on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + // Verify api support checking functionality is working + err = rsmi_dev_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device Marketing name: " << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_brand_get(i, buffer, kBufferLen); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_brand_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device Brand name: " << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_brand_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_vram_vendor_get(i, buffer, kBufferLen); if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Vram Vendor string not supported on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + err = rsmi_dev_vram_vendor_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device Vram Vendor name: " << buffer << std::endl; } + err = rsmi_dev_brand_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_vendor_id_get(i, &id); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_vendor_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Vendor ID: 0x" << std::hex << id << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_vendor_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_drm_render_minor_get(i, &drm_render_minor); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_drm_render_minor_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**DRM Render Minor: " << drm_render_minor << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_drm_render_minor_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_vendor_name_get(i, buffer, kBufferLen); - if (err == RSMI_STATUS_NOT_FOUND) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Device Vendor name string not found on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + // Verify api support checking functionality is working + err = rsmi_dev_vendor_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device Vendor name: " << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_vendor_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } // Get the device ID, name, vendor ID and vendor name for the sub-device err = rsmi_dev_subsystem_id_get(i, &id); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Subsystem ID: 0x" << std::hex << id << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_subsystem_name_get(i, buffer, kBufferLen); - if (err == RSMI_STATUS_NOT_FOUND) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Subsystem name string not found on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Subsystem name: " << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_subsystem_vendor_id_get(i, &id); - if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_vendor_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Sub-system Vendor ID: 0x" << std::hex << id << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_subsystem_vendor_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_vendor_name_get(i, buffer, kBufferLen); - if (err == RSMI_STATUS_NOT_FOUND) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**Subsystem Vendor name string not found on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) + // Verify api support checking functionality is working + err = rsmi_dev_vendor_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Subsystem Vendor name: " << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_vendor_name_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_dev_pci_id_get(i, &val_ui64); + // Don't check for RSMI_STATUS_NOT_SUPPORTED since this should always be + // supported. It is not based on a sysfs file. CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**PCI ID (BDFID): 0x" << std::hex << val_ui64; std::cout << " (" << std::dec << val_ui64 << ")" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_pci_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); err = rsmi_dev_serial_number_get(i, buffer, kBufferLen); if (err == RSMI_STATUS_NOT_SUPPORTED) { + // Verify api support checking functionality is working + err = rsmi_dev_serial_number_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + std::cout << "\t**Serial Number string not supported on this system." << std::endl; - } else if (err != RSMI_STATUS_SUCCESS) { - CHK_ERR_ASRT(err) } else { + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**Device Serial Number:" << buffer << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_serial_number_get(i, nullptr, kBufferLen); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/mem_page_info_read.cc b/tests/rocm_smi_test/functional/mem_page_info_read.cc index 874bb38c71..fe1ed7c7c7 100755 --- a/tests/rocm_smi_test/functional/mem_page_info_read.cc +++ b/tests/rocm_smi_test/functional/mem_page_info_read.cc @@ -98,6 +98,11 @@ void TestMemPageInfoRead::Run(void) { std::cout << "\t**Memory page information is not supported for this device" << std::endl; + + // Verify api support checking functionality is working + err = rsmi_dev_memory_reserved_pages_get(i, nullptr, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + continue; } else { CHK_ERR_ASRT(err) @@ -105,6 +110,9 @@ void TestMemPageInfoRead::Run(void) { std::cout << "\tNumber of memory page records: " << num_pages << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_memory_reserved_pages_get(i, nullptr, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } if (num_pages > 0) { diff --git a/tests/rocm_smi_test/functional/overdrive_read.cc b/tests/rocm_smi_test/functional/overdrive_read.cc index cd4bfc9c8d..d89d32741d 100755 --- a/tests/rocm_smi_test/functional/overdrive_read.cc +++ b/tests/rocm_smi_test/functional/overdrive_read.cc @@ -98,6 +98,9 @@ void TestOverdriveRead::Run(void) { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**OverDrive Level:" << val_ui32 << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_overdrive_level_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/pci_read_write.cc b/tests/rocm_smi_test/functional/pci_read_write.cc index 988b5e32d5..283b09be5c 100755 --- a/tests/rocm_smi_test/functional/pci_read_write.cc +++ b/tests/rocm_smi_test/functional/pci_read_write.cc @@ -102,11 +102,18 @@ void TestPciReadWrite::Run(void) { std::cout << "\t**rsmi_dev_pci_replay_counter_get() is not supported" " on this machine" << std::endl; + + // Verify api support checking functionality is working + ret = rsmi_dev_pci_replay_counter_get(dv_ind, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(ret) IF_VERB(STANDARD) { std::cout << "\tPCIe Replay Counter: " << u64int << std::endl; } + // Verify api support checking functionality is working + ret = rsmi_dev_pci_replay_counter_get(dv_ind, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); } ret = rsmi_dev_pci_throughput_get(dv_ind, &sent, &received, &max_pkt_sz); @@ -114,6 +121,9 @@ void TestPciReadWrite::Run(void) { std::cout << "TEST FAILURE: Current PCIe throughput is not detected. " "This is likely because it is not indicated in the pcie_bw sysfs " "file. Aborting test." << std::endl; + + // We don't need to verify api support checking functionality is working + // as the user may choose to have any of the input parameters as 0. return; } CHK_ERR_ASRT(ret) @@ -133,6 +143,10 @@ void TestPciReadWrite::Run(void) { std::cout << "TEST FAILURE: Current PCIe bandwidth is not detected. " "This is likely because it is not indicated in the pp_dpm_pcie sysfs " "file. Aborting test." << std::endl; + // Verify api support checking functionality is working + ret = rsmi_dev_pci_bandwidth_get(dv_ind, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_NOT_SUPPORTED); + return; } CHK_ERR_ASRT(ret) @@ -141,6 +155,9 @@ void TestPciReadWrite::Run(void) { std::cout << "\tInitial PCIe BW index is " << bw.transfer_rate.current << std::endl; } + // Verify api support checking functionality is working + ret = rsmi_dev_pci_bandwidth_get(dv_ind, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); // First set the bitmask to all supported bandwidths freq_bitmask = ~(~0 << bw.transfer_rate.num_supported); diff --git a/tests/rocm_smi_test/functional/perf_cntr_read_write.cc b/tests/rocm_smi_test/functional/perf_cntr_read_write.cc index b9fde50d53..c06a011570 100755 --- a/tests/rocm_smi_test/functional/perf_cntr_read_write.cc +++ b/tests/rocm_smi_test/functional/perf_cntr_read_write.cc @@ -139,6 +139,13 @@ TestPerfCntrReadWrite::testEventsIndividually(uint32_t dv_ind) { static_cast(evnt), &evt_handle); CHK_ERR_ASRT(ret) + // Note that rsmi_dev_counter_create() should never return + // RSMI_STATUS_NOT_SUPPORTED. It will return RSMI_STATUS_OUT_OF_RESOURCES + // if it is unable to create a counter. + ret = rsmi_dev_counter_create(dv_ind, + static_cast(evnt), nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); + IF_VERB(STANDARD) { std::cout << "\t\tStart Counting..." << std::endl; } @@ -202,7 +209,6 @@ TestPerfCntrReadWrite::testEventsSimultaneously(uint32_t dv_ind) { std::cout << "****************************" << std::endl; for (PerfCntrEvtGrp grp : s_event_groups) { - ret = rsmi_dev_counter_group_supported(dv_ind, grp.group()); if (ret == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\tEvent Group " << grp.name() << diff --git a/tests/rocm_smi_test/functional/perf_level_read.cc b/tests/rocm_smi_test/functional/perf_level_read.cc index 4dfb78c54e..ad3934e957 100755 --- a/tests/rocm_smi_test/functional/perf_level_read.cc +++ b/tests/rocm_smi_test/functional/perf_level_read.cc @@ -100,5 +100,8 @@ void TestPerfLevelRead::Run(void) { std::cout << "\t**Performance Level:" << std::dec << (uint32_t)pfl << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_perf_level_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } diff --git a/tests/rocm_smi_test/functional/power_cap_read_write.cc b/tests/rocm_smi_test/functional/power_cap_read_write.cc index aef8337631..2a56d9ae4e 100755 --- a/tests/rocm_smi_test/functional/power_cap_read_write.cc +++ b/tests/rocm_smi_test/functional/power_cap_read_write.cc @@ -98,9 +98,15 @@ void TestPowerCapReadWrite::Run(void) { ret = rsmi_dev_power_cap_range_get(dv_ind, 0, &max, &min); CHK_ERR_ASRT(ret) + // Verify api support checking functionality is working + ret = rsmi_dev_power_cap_range_get(dv_ind, 0, nullptr, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); ret = rsmi_dev_power_cap_get(dv_ind, 0, &orig); CHK_ERR_ASRT(ret) + // Verify api support checking functionality is working + ret = rsmi_dev_power_cap_get(dv_ind, 0, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); new_cap = (max + min)/2; diff --git a/tests/rocm_smi_test/functional/power_read.cc b/tests/rocm_smi_test/functional/power_read.cc index bef80da4bb..4d6a276b1b 100755 --- a/tests/rocm_smi_test/functional/power_read.cc +++ b/tests/rocm_smi_test/functional/power_read.cc @@ -113,6 +113,9 @@ void TestPowerRead::Run(void) { if (err == RSMI_STATUS_SUCCESS) { std::cout << static_cast(val_ui64)/1000 << " mW" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_power_ave_get(i, 0, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/power_read_write.cc b/tests/rocm_smi_test/functional/power_read_write.cc index 32fbc32454..1694425e58 100755 --- a/tests/rocm_smi_test/functional/power_read_write.cc +++ b/tests/rocm_smi_test/functional/power_read_write.cc @@ -121,6 +121,10 @@ void TestPowerReadWrite::Run(void) { ret = rsmi_dev_power_profile_presets_get(dv_ind, 0, &status); CHK_ERR_ASRT(ret) + // Verify api support checking functionality is working + ret = rsmi_dev_power_profile_presets_get(dv_ind, 0, nullptr); + ASSERT_EQ(ret, RSMI_STATUS_INVALID_ARGS); + IF_VERB(STANDARD) { std::cout << "The available power profiles are:" << std::endl; uint64_t tmp = 1; diff --git a/tests/rocm_smi_test/functional/sys_info_read.cc b/tests/rocm_smi_test/functional/sys_info_read.cc index 964e371b50..f86d41a277 100755 --- a/tests/rocm_smi_test/functional/sys_info_read.cc +++ b/tests/rocm_smi_test/functional/sys_info_read.cc @@ -105,7 +105,14 @@ void TestSysInfoRead::Run(void) { std::cout << "\t**VBIOS read: Not supported on this machine" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_vbios_version_get(i, nullptr, 80); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { + // Verify api support checking functionality is working + err = rsmi_dev_vbios_version_get(i, nullptr, 80); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); + CHK_ERR_ASRT(err) } } else { @@ -120,18 +127,27 @@ void TestSysInfoRead::Run(void) { std::cout << "\t**PCI ID (BDFID): 0x" << std::hex << val_ui64; std::cout << " (" << std::dec << val_ui64 << ")" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_pci_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); err = rsmi_dev_unique_id_get(i, &val_ui64); if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**rsmi_dev_unique_id() is not supported" " on this machine" << std::endl; + // Verify api support checking functionality is working + err = rsmi_dev_unique_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**GPU Unique ID : " << std::hex << val_ui64 << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_unique_id_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } err = rsmi_version_get(&ver); @@ -148,15 +164,23 @@ void TestSysInfoRead::Run(void) { for (int x = RSMI_FW_BLOCK_FIRST; x <= RSMI_FW_BLOCK_LAST; ++x) { rsmi_fw_block_t block = static_cast(x); err = rsmi_dev_firmware_version_get(i, block, &val_ui64); - if (err) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { std::cout << "\t**No FW block " << NameFromFWEnum(block) << " available on this system" << std::endl; + + // Verify api support checking functionality is working + err = rsmi_dev_firmware_version_get(i, block, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); continue; } + CHK_ERR_ASRT(err) IF_VERB(STANDARD) { std::cout << "\t**FW VERSION for " << NameFromFWEnum(block) << ": " << val_ui64 << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_firmware_version_get(i, block, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); } } } diff --git a/tests/rocm_smi_test/functional/temp_read.cc b/tests/rocm_smi_test/functional/temp_read.cc index b2e63ac5f1..2dfcc0d5d1 100755 --- a/tests/rocm_smi_test/functional/temp_read.cc +++ b/tests/rocm_smi_test/functional/temp_read.cc @@ -112,12 +112,19 @@ void TestTempRead::Run(void) { IF_VERB(STANDARD) { std::cout << "\t**" << label << ": " << "Not supported on this machine" << std::endl; + + // Verify api support checking functionality is working + err = rsmi_dev_temp_metric_get(i, type, met, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); return; } } else { CHK_ERR_ASRT(err) } } + // Verify api support checking functionality is working + err = rsmi_dev_temp_metric_get(i, type, met, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); IF_VERB(STANDARD) { std::cout << "\t**" << label << ": " << val_i64/1000 << diff --git a/tests/rocm_smi_test/functional/volt_freq_curv_read.cc b/tests/rocm_smi_test/functional/volt_freq_curv_read.cc index 60b8080a1a..eead207aa4 100755 --- a/tests/rocm_smi_test/functional/volt_freq_curv_read.cc +++ b/tests/rocm_smi_test/functional/volt_freq_curv_read.cc @@ -154,15 +154,20 @@ void TestVoltCurvRead::Run(void) { PrintDeviceHeader(i); err = rsmi_dev_od_volt_info_get(i, &odv); - if (err == RSMI_STATUS_FILE_ERROR || - err == RSMI_STATUS_NOT_SUPPORTED) { + if (err == RSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { std::cout << "\t**rsmi_dev_od_volt_info_get: Not supported on this machine" << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_od_volt_info_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } else { CHK_ERR_ASRT(err) + // Verify api support checking functionality is working + err = rsmi_dev_od_volt_info_get(i, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); } if (err == RSMI_STATUS_SUCCESS) { diff --git a/tests/rocm_smi_test/functional/xgmi_read_write.cc b/tests/rocm_smi_test/functional/xgmi_read_write.cc index 747ac927c8..4287e0af65 100755 --- a/tests/rocm_smi_test/functional/xgmi_read_write.cc +++ b/tests/rocm_smi_test/functional/xgmi_read_write.cc @@ -95,22 +95,25 @@ void TestXGMIReadWrite::Run(void) { err = rsmi_dev_xgmi_error_status(dv_ind, &err_stat); - if (err != RSMI_STATUS_SUCCESS) { - if (err == RSMI_STATUS_NOT_SUPPORTED) { - IF_VERB(STANDARD) { - std::cout << "\t**XGMI Error Status: Not supported on this machine" - << std::endl; - return; - } - } else { - CHK_ERR_ASRT(err) - } - } else { + if (err == RSMI_STATUS_NOT_SUPPORTED) { IF_VERB(STANDARD) { - std::cout << "\t**XGMI Error Status: " << - static_cast(err_stat) << std::endl; + std::cout << "\t**XGMI Error Status: Not supported on this machine" + << std::endl; } + // Verify api support checking functionality is working + err = rsmi_dev_xgmi_error_status(dv_ind, nullptr); + ASSERT_EQ(err, RSMI_STATUS_NOT_SUPPORTED); + + continue; } + CHK_ERR_ASRT(err) + IF_VERB(STANDARD) { + std::cout << "\t**XGMI Error Status: " << + static_cast(err_stat) << std::endl; + } + // Verify api support checking functionality is working + err = rsmi_dev_xgmi_error_status(dv_ind, nullptr); + ASSERT_EQ(err, RSMI_STATUS_INVALID_ARGS); // TODO(cfree) We need to find a way to generate xgmi errors so this // test won't be meaningless