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

hwmon: (k10temp) Add support for yellow carp

Yellow carp matches same behavior as green sardine and other Zen3
products, but have different CCD offsets.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Acked-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20210827201527.24454-3-mario.limonciello@amd.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>

authored by

Mario Limonciello and committed by
Guenter Roeck
25572c81 0e3f52bb

+11
+5
arch/x86/kernel/amd_nb.c
··· 25 25 #define PCI_DEVICE_ID_AMD_17H_M60H_DF_F4 0x144c 26 26 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F4 0x1444 27 27 #define PCI_DEVICE_ID_AMD_19H_DF_F4 0x1654 28 + #define PCI_DEVICE_ID_AMD_19H_M40H_ROOT 0x14b5 29 + #define PCI_DEVICE_ID_AMD_19H_M40H_DF_F4 0x167d 28 30 #define PCI_DEVICE_ID_AMD_19H_M50H_DF_F4 0x166e 29 31 30 32 /* Protect the PCI config register pairs used for SMN and DF indirect access. */ ··· 39 37 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_ROOT) }, 40 38 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_ROOT) }, 41 39 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M60H_ROOT) }, 40 + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M40H_ROOT) }, 42 41 {} 43 42 }; 44 43 ··· 61 58 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) }, 62 59 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) }, 63 60 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F3) }, 61 + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M40H_DF_F3) }, 64 62 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M50H_DF_F3) }, 65 63 {} 66 64 }; ··· 78 74 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M60H_DF_F4) }, 79 75 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F4) }, 80 76 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F4) }, 77 + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M40H_DF_F4) }, 81 78 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M50H_DF_F4) }, 82 79 { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F4) }, 83 80 {}
+5
drivers/hwmon/k10temp.c
··· 459 459 data->ccd_offset = 0x154; 460 460 k10temp_get_ccd_support(pdev, data, 8); 461 461 break; 462 + case 0x40 ... 0x4f: /* Yellow Carp */ 463 + data->ccd_offset = 0x300; 464 + k10temp_get_ccd_support(pdev, data, 8); 465 + break; 462 466 } 463 467 } else { 464 468 data->read_htcreg = read_htcreg_pci; ··· 503 499 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M60H_DF_F3) }, 504 500 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) }, 505 501 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_19H_DF_F3) }, 502 + { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_19H_M40H_DF_F3) }, 506 503 { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_19H_M50H_DF_F3) }, 507 504 { PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) }, 508 505 {}
+1
include/linux/pci_ids.h
··· 555 555 #define PCI_DEVICE_ID_AMD_17H_M60H_DF_F3 0x144b 556 556 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F3 0x1443 557 557 #define PCI_DEVICE_ID_AMD_19H_DF_F3 0x1653 558 + #define PCI_DEVICE_ID_AMD_19H_M40H_DF_F3 0x167c 558 559 #define PCI_DEVICE_ID_AMD_19H_M50H_DF_F3 0x166d 559 560 #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 560 561 #define PCI_DEVICE_ID_AMD_LANCE 0x2000