summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon/k10temp.c
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2020-01-23 16:57:09 +0100
committerGuenter Roeck <linux@roeck-us.net>2020-03-09 04:35:46 +0100
commitb02c6857389da66b09e447103bdb247ccd182456 (patch)
tree375c3bb9dd1170043f4d55e32d28a19f769d5a5e /drivers/hwmon/k10temp.c
parentbindings: (hwmon/ltc2978.txt) add support for more parts (bindings) (diff)
downloadlinux-b02c6857389da66b09e447103bdb247ccd182456.tar.xz
linux-b02c6857389da66b09e447103bdb247ccd182456.zip
hwmon: (k10temp) Swap Tdie and Tctl on Family 17h CPUs
Traditionally, the temperature displayed by k10temp was Tctl. On Family 17h CPUs, Tdie was displayed instead. To reduce confusion, Tctl was added later as second temperature. This resulted in Tdie being reported as temp1_input, and Tctl as temp2_input. This is different to non-Ryzen CPUs, where Tctl is displayed as temp1_input. Swap temp1_input and temp2_input on Family 17h CPUs, such that Tctl is now reported as temp1_input and Tdie is reported as temp2_input, to align with other CPUs, streamline the code, and make it less confusing. Coincidentally, this also aligns the code with its documentation, which states that Tdie is reported as temp2_input. Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon/k10temp.c')
-rw-r--r--drivers/hwmon/k10temp.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
index e39354ffe973..b38547cd7ba3 100644
--- a/drivers/hwmon/k10temp.c
+++ b/drivers/hwmon/k10temp.c
@@ -180,8 +180,8 @@ static long get_raw_temp(struct k10temp_data *data)
}
const char *k10temp_temp_label[] = {
- "Tdie",
"Tctl",
+ "Tdie",
"Tccd1",
"Tccd2",
"Tccd3",
@@ -269,13 +269,13 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel,
switch (attr) {
case hwmon_temp_input:
switch (channel) {
- case 0: /* Tdie */
- *val = get_raw_temp(data) - data->temp_offset;
+ case 0: /* Tctl */
+ *val = get_raw_temp(data);
if (*val < 0)
*val = 0;
break;
- case 1: /* Tctl */
- *val = get_raw_temp(data);
+ case 1: /* Tdie */
+ *val = get_raw_temp(data) - data->temp_offset;
if (*val < 0)
*val = 0;
break;
@@ -334,9 +334,9 @@ static umode_t k10temp_is_visible(const void *_data,
switch (attr) {
case hwmon_temp_input:
switch (channel) {
- case 0: /* Tdie, or Tctl if we don't show it */
+ case 0: /* Tctl */
break;
- case 1: /* Tctl */
+ case 1: /* Tdie */
if (!data->show_tdie)
return 0;
break;
@@ -372,8 +372,8 @@ static umode_t k10temp_is_visible(const void *_data,
if (!data->show_tdie)
return 0;
switch (channel) {
- case 0: /* Tdie */
- case 1: /* Tctl */
+ case 0: /* Tctl */
+ case 1: /* Tdie */
break;
case 2 ... 9: /* Tccd{1-8} */
if (!(data->show_tccd & BIT(channel - 2)))