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 | 3423 | return 0; |
| 3424 | 3424 | |
| 3425 | 3425 | /* hotspot temperature for gc 9,4,3*/ |
| 3426 | − if ((gc_ver == IP_VERSION(9, 4, 3)) && | |
| 3427 | − (attr == &sensor_dev_attr_temp1_input.dev_attr.attr || | |
| 3428 | − attr == &sensor_dev_attr_temp1_label.dev_attr.attr)) | |
| 3429 | − return 0; | |
| 3426 | + if (gc_ver == IP_VERSION(9, 4, 3)) { | |
| 3427 | + if (attr == &sensor_dev_attr_temp1_input.dev_attr.attr || | |
| 3428 | + attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || | |
| 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 | 3437 | /* only SOC15 dGPUs support hotspot and mem temperatures */ |
| 3432 | − if (((adev->flags & AMD_IS_APU) || gc_ver < IP_VERSION(9, 0, 0) || | |
| 3433 | − (gc_ver == IP_VERSION(9, 4, 3))) && | |
| 3434 | − (attr == &sensor_dev_attr_temp2_crit_hyst.dev_attr.attr || | |
| 3438 | + if (((adev->flags & AMD_IS_APU) || gc_ver < IP_VERSION(9, 0, 0)) && | |
| 3439 | + (attr == &sensor_dev_attr_temp2_crit_hyst.dev_attr.attr || | |
| 3435 | 3440 | attr == &sensor_dev_attr_temp3_crit_hyst.dev_attr.attr || |
| 3436 | 3441 | attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr || |
| 3437 | 3442 | attr == &sensor_dev_attr_temp2_emergency.dev_attr.attr || |