From 07a8287a18e4606687c839bd8dbfec307113c23c Mon Sep 17 00:00:00 2001 From: Maisam Arif Date: Wed, 2 Aug 2023 04:20:26 -0500 Subject: [PATCH] SWDEV-412847 - Added Hotspot temp and edge limit checks Change-Id: If549ee45214e784a28a3420f60bae7f4ae1a1022 Signed-off-by: Maisam Arif --- amdsmi_cli/amdsmi_commands.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/amdsmi_cli/amdsmi_commands.py b/amdsmi_cli/amdsmi_commands.py index 176cf94baf..4c0ccd21bf 100644 --- a/amdsmi_cli/amdsmi_commands.py +++ b/amdsmi_cli/amdsmi_commands.py @@ -306,6 +306,10 @@ class AMDSMICommands(): if not self.all_arguments: raise e + if temp_edge_limit == 0: + temp_edge_limit_error = True + temp_edge_limit = 'N/A' + try: temp_junction_limit_error = False temp_junction_limit = amdsmi_interface.amdsmi_get_temp_metric(args.gpu, @@ -866,18 +870,24 @@ class AMDSMICommands(): try: temperature_edge_current = amdsmi_interface.amdsmi_get_temp_metric( args.gpu, amdsmi_interface.AmdSmiTemperatureType.EDGE, amdsmi_interface.AmdSmiTemperatureMetric.CURRENT) + temperature_edge_limit = amdsmi_interface.amdsmi_get_temp_metric( + args.gpu, amdsmi_interface.AmdSmiTemperatureType.EDGE, amdsmi_interface.AmdSmiTemperatureMetric.CRITICAL) temperature_junction_current = amdsmi_interface.amdsmi_get_temp_metric( args.gpu, amdsmi_interface.AmdSmiTemperatureType.JUNCTION, amdsmi_interface.AmdSmiTemperatureMetric.CURRENT) temperature_vram_current = amdsmi_interface.amdsmi_get_temp_metric( args.gpu, amdsmi_interface.AmdSmiTemperatureType.VRAM, amdsmi_interface.AmdSmiTemperatureMetric.CURRENT) + # If edge limit is reporting 0 then set the current edge temp to N/A + if temperature_edge_limit == 0: + temperature_edge_current = 'N/A' + temperatures = {'edge': temperature_edge_current, - 'hotspot': temperature_junction_current, + 'junction': temperature_junction_current, 'mem': temperature_vram_current} if self.logger.is_gpuvsmi_compatibility(): temperatures = {'edge_temperature': temperature_edge_current, - 'hotspot_temperature': temperature_junction_current, + 'junction_temperature': temperature_junction_current, 'mem_temperature': temperature_vram_current} if self.logger.is_human_readable_format():