Add rsmi_dev_serial_number_get()
Also correct whitespace issues Change-Id: I7ffe23672304c31ed08d7148b04a19a7d4c3d7ef
This commit is contained in:
+28
-1
@@ -1428,7 +1428,6 @@ static rsmi_status_t get_dev_name_from_id(uint32_t dv_ind, char *name,
|
||||
|
||||
static rsmi_status_t
|
||||
get_dev_drm_render_minor(uint32_t dv_ind, uint32_t *minor) {
|
||||
|
||||
GET_DEV_FROM_INDX
|
||||
|
||||
*minor = dev->drm_render_minor();
|
||||
@@ -2244,6 +2243,34 @@ rsmi_version_str_get(rsmi_sw_component_t component, char *ver_str,
|
||||
CATCH
|
||||
}
|
||||
|
||||
rsmi_status_t rsmi_dev_serial_number_get(uint32_t dv_ind,
|
||||
char *serial_num, uint32_t len) {
|
||||
if (serial_num == nullptr || len == 0) {
|
||||
return RSMI_STATUS_INVALID_ARGS;
|
||||
}
|
||||
|
||||
TRY
|
||||
|
||||
std::string val_str;
|
||||
rsmi_status_t ret = get_dev_value_str(amd::smi::kDevSerialNumber,
|
||||
dv_ind, &val_str);
|
||||
|
||||
if (ret != RSMI_STATUS_SUCCESS) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t ln = val_str.copy(serial_num, len);
|
||||
|
||||
serial_num[std::min(len - 1, ln)] = '\0';
|
||||
|
||||
if (len < (val_str.size() + 1)) {
|
||||
return RSMI_STATUS_INSUFFICIENT_SIZE;
|
||||
}
|
||||
return RSMI_STATUS_SUCCESS;
|
||||
|
||||
CATCH
|
||||
}
|
||||
|
||||
rsmi_status_t
|
||||
rsmi_dev_pci_replay_counter_get(uint32_t dv_ind, uint64_t *counter) {
|
||||
TRY
|
||||
|
||||
@@ -102,6 +102,7 @@ static const char *kDevUniqueIdFName = "unique_id";
|
||||
static const char *kDevDFCountersAvailableFName = "df_cntr_avail";
|
||||
static const char *kDevMemBusyPercentFName = "mem_busy_percent";
|
||||
static const char *kDevXGMIErrorFName = "xgmi_error";
|
||||
static const char *kDevSerialNumberFName = "serial_number";
|
||||
|
||||
// Strings that are found within sysfs files
|
||||
static const char *kDevPerfLevelAutoStr = "auto";
|
||||
@@ -192,6 +193,7 @@ static const std::map<DevInfoTypes, const char *> kDevAttribNameMap = {
|
||||
{kDevFwVersionUvd, kDevFwVersionUvdFName},
|
||||
{kDevFwVersionVce, kDevFwVersionVceFName},
|
||||
{kDevFwVersionVcn, kDevFwVersionVcnFName},
|
||||
{kDevSerialNumber, kDevSerialNumberFName},
|
||||
};
|
||||
|
||||
static const std::map<rsmi_dev_perf_level, const char *> kDevPerfLvlMap = {
|
||||
@@ -505,6 +507,7 @@ int Device::readDevInfo(DevInfoTypes type, std::string *val) {
|
||||
case kDevVendorID:
|
||||
case kDevVBiosVer:
|
||||
case kDevPCIEThruPut:
|
||||
case kDevSerialNumber:
|
||||
return readDevInfoStr(type, val);
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user