Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors

The current driver can read the temperatures from upto 8 CCDs
(Core-Complex Die).

The newer AMD Family 19h Models 10h-1Fh and A0h-AFh can support up to
12 CCDs. Update the driver to read up to 12 CCDs.

Signed-off-by: Babu Moger <babu.moger@amd.com>
Link: https://lore.kernel.org/r/163776976762.904164.5618896687524494215.stgit@bmoger-ubuntu
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Babu Moger and committed by
Guenter Roeck
8bb050cd 548820e2

+14 -3
+14 -3
drivers/hwmon/k10temp.c
··· 171 171 "Tccd6", 172 172 "Tccd7", 173 173 "Tccd8", 174 + "Tccd9", 175 + "Tccd10", 176 + "Tccd11", 177 + "Tccd12", 174 178 }; 175 179 176 180 static int k10temp_read_labels(struct device *dev, ··· 210 206 if (*val < 0) 211 207 *val = 0; 212 208 break; 213 - case 2 ... 9: /* Tccd{1-8} */ 209 + case 2 ... 13: /* Tccd{1-12} */ 214 210 amd_smn_read(amd_pci_dev_to_node_id(data->pdev), 215 211 ZEN_CCD_TEMP(data->ccd_offset, channel - 2), 216 212 &regval); ··· 345 341 HWMON_T_INPUT | HWMON_T_LABEL, 346 342 HWMON_T_INPUT | HWMON_T_LABEL, 347 343 HWMON_T_INPUT | HWMON_T_LABEL, 344 + HWMON_T_INPUT | HWMON_T_LABEL, 345 + HWMON_T_INPUT | HWMON_T_LABEL, 346 + HWMON_T_INPUT | HWMON_T_LABEL, 347 + HWMON_T_INPUT | HWMON_T_LABEL, 348 348 HWMON_T_INPUT | HWMON_T_LABEL), 349 349 NULL 350 350 }; ··· 441 433 data->ccd_offset = 0x154; 442 434 k10temp_get_ccd_support(pdev, data, 8); 443 435 break; 444 - case 0x10 ... 0x1f: 445 436 case 0x40 ... 0x4f: /* Yellow Carp */ 446 - case 0xa0 ... 0xaf: 447 437 data->ccd_offset = 0x300; 448 438 k10temp_get_ccd_support(pdev, data, 8); 439 + break; 440 + case 0x10 ... 0x1f: 441 + case 0xa0 ... 0xaf: 442 + data->ccd_offset = 0x300; 443 + k10temp_get_ccd_support(pdev, data, 12); 449 444 break; 450 445 } 451 446 } else {