From 0da10e683eb4644b104e8b552a1d2c946af3145b Mon Sep 17 00:00:00 2001 From: Christine Gharzuzi Date: Tue, 28 Jan 2020 15:19:38 +0200 Subject: habanalabs: provide historical maximum of various sensors Add support for hwmon_in_highest, hwmon_temp_highest and hwmon_curr_highest attributes. These attributes retrieve the historical maximum voltage, temperature and current that were sampled, respectively. Signed-off-by: Christine Gharzuzi Reviewed-by: Oded Gabbay Signed-off-by: Oded Gabbay --- drivers/misc/habanalabs/hwmon.c | 6 ++++++ drivers/misc/habanalabs/include/armcp_if.h | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'drivers/misc') diff --git a/drivers/misc/habanalabs/hwmon.c b/drivers/misc/habanalabs/hwmon.c index 3539190b1caa..a21a26e07c3b 100644 --- a/drivers/misc/habanalabs/hwmon.c +++ b/drivers/misc/habanalabs/hwmon.c @@ -127,6 +127,7 @@ static int hl_read(struct device *dev, enum hwmon_sensor_types type, case hwmon_temp_max_hyst: case hwmon_temp_crit_hyst: case hwmon_temp_offset: + case hwmon_temp_highest: break; default: return -EINVAL; @@ -139,6 +140,7 @@ static int hl_read(struct device *dev, enum hwmon_sensor_types type, case hwmon_in_input: case hwmon_in_min: case hwmon_in_max: + case hwmon_in_highest: break; default: return -EINVAL; @@ -151,6 +153,7 @@ static int hl_read(struct device *dev, enum hwmon_sensor_types type, case hwmon_curr_input: case hwmon_curr_min: case hwmon_curr_max: + case hwmon_curr_highest: break; default: return -EINVAL; @@ -230,6 +233,7 @@ static umode_t hl_is_visible(const void *data, enum hwmon_sensor_types type, case hwmon_temp_max_hyst: case hwmon_temp_crit: case hwmon_temp_crit_hyst: + case hwmon_temp_highest: return 0444; case hwmon_temp_offset: return 0644; @@ -240,6 +244,7 @@ static umode_t hl_is_visible(const void *data, enum hwmon_sensor_types type, case hwmon_in_input: case hwmon_in_min: case hwmon_in_max: + case hwmon_in_highest: return 0444; } break; @@ -248,6 +253,7 @@ static umode_t hl_is_visible(const void *data, enum hwmon_sensor_types type, case hwmon_curr_input: case hwmon_curr_min: case hwmon_curr_max: + case hwmon_curr_highest: return 0444; } break; diff --git a/drivers/misc/habanalabs/include/armcp_if.h b/drivers/misc/habanalabs/include/armcp_if.h index 014549eaf919..bdd0a4c3a9cf 100644 --- a/drivers/misc/habanalabs/include/armcp_if.h +++ b/drivers/misc/habanalabs/include/armcp_if.h @@ -287,19 +287,22 @@ enum armcp_temp_type { armcp_temp_max_hyst, armcp_temp_crit, armcp_temp_crit_hyst, - armcp_temp_offset = 19 + armcp_temp_offset = 19, + armcp_temp_highest = 22 }; enum armcp_in_attributes { armcp_in_input, armcp_in_min, - armcp_in_max + armcp_in_max, + armcp_in_highest = 7 }; enum armcp_curr_attributes { armcp_curr_input, armcp_curr_min, - armcp_curr_max + armcp_curr_max, + armcp_curr_highest = 7 }; enum armcp_fan_attributes { -- cgit v1.2.3