Commit 4c01e524 authored by Rajaravi Krishna Katta's avatar Rajaravi Krishna Katta Committed by Oded Gabbay

habanalabs: sysfs support for fw os version

Adds new sysfs entry to display firmware os version
/sys/class/habanalabs/hl<n>/fw_os_ver
Signed-off-by: default avatarRajaravi Krishna Katta <rkatta@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 6ba2c0ce
...@@ -69,6 +69,12 @@ KernelVersion: 5.1 ...@@ -69,6 +69,12 @@ KernelVersion: 5.1
Contact: ogabbay@kernel.org Contact: ogabbay@kernel.org
Description: Displays the device's version from the eFuse Description: Displays the device's version from the eFuse
What: /sys/class/habanalabs/hl<n>/fw_os_ver
Date: Dec 2021
KernelVersion: 5.18
Contact: ogabbay@kernel.org
Description: Version of the firmware OS running on the device's CPU
What: /sys/class/habanalabs/hl<n>/hard_reset What: /sys/class/habanalabs/hl<n>/hard_reset
Date: Jan 2019 Date: Jan 2019
KernelVersion: 5.1 KernelVersion: 5.1
......
...@@ -156,6 +156,14 @@ static ssize_t thermal_ver_show(struct device *dev, ...@@ -156,6 +156,14 @@ static ssize_t thermal_ver_show(struct device *dev,
return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.thermal_version); return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.thermal_version);
} }
static ssize_t fw_os_ver_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct hl_device *hdev = dev_get_drvdata(dev);
return sprintf(buf, "%s", hdev->asic_prop.cpucp_info.fw_os_version);
}
static ssize_t preboot_btl_ver_show(struct device *dev, static ssize_t preboot_btl_ver_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
...@@ -370,6 +378,7 @@ static DEVICE_ATTR_RO(soft_reset_cnt); ...@@ -370,6 +378,7 @@ static DEVICE_ATTR_RO(soft_reset_cnt);
static DEVICE_ATTR_RO(status); static DEVICE_ATTR_RO(status);
static DEVICE_ATTR_RO(thermal_ver); static DEVICE_ATTR_RO(thermal_ver);
static DEVICE_ATTR_RO(uboot_ver); static DEVICE_ATTR_RO(uboot_ver);
static DEVICE_ATTR_RO(fw_os_ver);
static struct bin_attribute bin_attr_eeprom = { static struct bin_attribute bin_attr_eeprom = {
.attr = {.name = "eeprom", .mode = (0444)}, .attr = {.name = "eeprom", .mode = (0444)},
...@@ -393,6 +402,7 @@ static struct attribute *hl_dev_attrs[] = { ...@@ -393,6 +402,7 @@ static struct attribute *hl_dev_attrs[] = {
&dev_attr_status.attr, &dev_attr_status.attr,
&dev_attr_thermal_ver.attr, &dev_attr_thermal_ver.attr,
&dev_attr_uboot_ver.attr, &dev_attr_uboot_ver.attr,
&dev_attr_fw_os_ver.attr,
NULL, NULL,
}; };
......
...@@ -780,6 +780,7 @@ struct cpucp_security_info { ...@@ -780,6 +780,7 @@ struct cpucp_security_info {
* (0 = functional 1 = binned) * (0 = functional 1 = binned)
* @xbar_binning_mask: Xbar binning mask, 1 bit per Xbar instance * @xbar_binning_mask: Xbar binning mask, 1 bit per Xbar instance
* (0 = functional 1 = binned) * (0 = functional 1 = binned)
* @fw_os_version: Firmware OS Version
*/ */
struct cpucp_info { struct cpucp_info {
struct cpucp_sensor sensors[CPUCP_MAX_SENSORS]; struct cpucp_sensor sensors[CPUCP_MAX_SENSORS];
...@@ -807,6 +808,7 @@ struct cpucp_info { ...@@ -807,6 +808,7 @@ struct cpucp_info {
__le32 reserved6; __le32 reserved6;
__u8 pll_map[PLL_MAP_LEN]; __u8 pll_map[PLL_MAP_LEN];
__le64 mme_binning_mask; __le64 mme_binning_mask;
__u8 fw_os_version[VERSION_MAX_LEN];
}; };
struct cpucp_mac_addr { struct cpucp_mac_addr {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment