Publish max operating temperature of SOC and memory as temp*_emergency nodes in hwmon. temp*_crit will show the throttle temperature limits.
Unified · Split
| @@ -3423,15 +3423,20 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj, · 3422 unmodified lines | |||
| 3423 | return 0; | 3423 | return 0; |
| 3424 | 3424 | ||
| 3425 | /* hotspot temperature for gc 9,4,3*/ | 3425 | /* hotspot temperature for gc 9,4,3*/ |
| 3426 | if ((gc_ver == IP_VERSION(9, 4, 3)) && | 3426 | if (gc_ver == IP_VERSION(9, 4, 3)) { |
| 3427 | (attr == &sensor_dev_attr_temp1_input.dev_attr.attr || | 3427 | if (attr == &sensor_dev_attr_temp1_input.dev_attr.attr || |
| 3428 | attr == &sensor_dev_attr_temp1_label.dev_attr.attr)) | 3428 | attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || |
| 3429 | return 0; | 3429 | attr == &sensor_dev_attr_temp1_label.dev_attr.attr) |
| 3430 | return 0; | ||
| 3431 | |||
| 3432 | if (attr == &sensor_dev_attr_temp2_emergency.dev_attr.attr || | ||
| 3433 | attr == &sensor_dev_attr_temp3_emergency.dev_attr.attr) | ||
| 3434 | return attr->mode; | ||
| 3435 | } | ||
| 3430 | 3436 | ||
| 3431 | /* only SOC15 dGPUs support hotspot and mem temperatures */ | 3437 | /* only SOC15 dGPUs support hotspot and mem temperatures */ |
| 3432 | if (((adev->flags & AMD_IS_APU) || gc_ver < IP_VERSION(9, 0, 0) || | 3438 | if (((adev->flags & AMD_IS_APU) || gc_ver < IP_VERSION(9, 0, 0)) && |
| 3433 | (gc_ver == IP_VERSION(9, 4, 3))) && | 3439 | (attr == &sensor_dev_attr_temp2_crit_hyst.dev_attr.attr || |
| 3434 | (attr == &sensor_dev_attr_temp2_crit_hyst.dev_attr.attr || | ||
| 3435 | attr == &sensor_dev_attr_temp3_crit_hyst.dev_attr.attr || | 3440 | attr == &sensor_dev_attr_temp3_crit_hyst.dev_attr.attr || |
| 3436 | attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || | 3441 | attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || |
| 3437 | attr == &sensor_dev_attr_temp2_emergency.dev_attr.attr || | 3442 | attr == &sensor_dev_attr_temp2_emergency.dev_attr.attr || |