mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdgpu: Add uniras version in sysfs
Display uniras version in sysfs version interface when uniras enable. v2: display ras version detail info Signed-off-by: Jinzhou Su <jinzhou.su@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1950,12 +1950,42 @@ static ssize_t amdgpu_ras_sysfs_features_read(struct device *dev,
|
||||
return sysfs_emit(buf, "feature mask: 0x%x\n", con->features);
|
||||
}
|
||||
|
||||
static bool amdgpu_ras_get_version_info(struct amdgpu_device *adev, u32 *major,
|
||||
u32 *minor, u32 *rev)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (!adev || !major || !minor || !rev || !amdgpu_uniras_enabled(adev))
|
||||
return false;
|
||||
|
||||
for (i = 0; i < adev->num_ip_blocks; i++) {
|
||||
if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_RAS) {
|
||||
*major = adev->ip_blocks[i].version->major;
|
||||
*minor = adev->ip_blocks[i].version->minor;
|
||||
*rev = adev->ip_blocks[i].version->rev;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static ssize_t amdgpu_ras_sysfs_version_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct amdgpu_ras *con =
|
||||
container_of(attr, struct amdgpu_ras, version_attr);
|
||||
return sysfs_emit(buf, "table version: 0x%x\n", con->eeprom_control.tbl_hdr.version);
|
||||
u32 major, minor, rev;
|
||||
ssize_t size = 0;
|
||||
|
||||
size += sysfs_emit_at(buf, size, "table version: 0x%x\n",
|
||||
con->eeprom_control.tbl_hdr.version);
|
||||
|
||||
if (amdgpu_ras_get_version_info(con->adev, &major, &minor, &rev))
|
||||
size += sysfs_emit_at(buf, size, "ras version: %u.%u.%u\n",
|
||||
major, minor, rev);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static ssize_t amdgpu_ras_sysfs_schema_show(struct device *dev,
|
||||
|
||||
Reference in New Issue
Block a user