|
91 | 91 | #define AMD_CPU_ID_PCO AMD_CPU_ID_RV |
92 | 92 | #define AMD_CPU_ID_CZN AMD_CPU_ID_RN |
93 | 93 | #define AMD_CPU_ID_YC 0x14B5 |
| 94 | +#define AMD_CPU_ID_CB 0x14D8 |
| 95 | +#define AMD_CPU_ID_PS 0x14E8 |
94 | 96 |
|
95 | 97 | #define PMC_MSG_DELAY_MIN_US 50 |
96 | 98 | #define RESPONSE_REGISTER_LOOP_MAX 20000 |
@@ -318,6 +320,8 @@ static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev, |
318 | 320 | val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_CZN); |
319 | 321 | break; |
320 | 322 | case AMD_CPU_ID_YC: |
| 323 | + case AMD_CPU_ID_CB: |
| 324 | + case AMD_CPU_ID_PS: |
321 | 325 | val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_YC); |
322 | 326 | break; |
323 | 327 | default: |
@@ -491,7 +495,8 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev) |
491 | 495 | &amd_pmc_idlemask_fops); |
492 | 496 | /* Enable STB only when the module_param is set */ |
493 | 497 | if (enable_stb) { |
494 | | - if (dev->cpu_id == AMD_CPU_ID_YC) |
| 498 | + if (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB || |
| 499 | + dev->cpu_id == AMD_CPU_ID_PS) |
495 | 500 | debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, |
496 | 501 | &amd_pmc_stb_debugfs_fops_v2); |
497 | 502 | else |
@@ -615,6 +620,8 @@ static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev) |
615 | 620 | return MSG_OS_HINT_PCO; |
616 | 621 | case AMD_CPU_ID_RN: |
617 | 622 | case AMD_CPU_ID_YC: |
| 623 | + case AMD_CPU_ID_CB: |
| 624 | + case AMD_CPU_ID_PS: |
618 | 625 | return MSG_OS_HINT_RN; |
619 | 626 | } |
620 | 627 | return -EINVAL; |
@@ -735,6 +742,8 @@ static struct acpi_s2idle_dev_ops amd_pmc_s2idle_dev_ops = { |
735 | 742 | #endif |
736 | 743 |
|
737 | 744 | static const struct pci_device_id pmc_pci_ids[] = { |
| 745 | + { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_PS) }, |
| 746 | + { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CB) }, |
738 | 747 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_YC) }, |
739 | 748 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CZN) }, |
740 | 749 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_RN) }, |
@@ -877,7 +886,7 @@ static int amd_pmc_probe(struct platform_device *pdev) |
877 | 886 |
|
878 | 887 | mutex_init(&dev->lock); |
879 | 888 |
|
880 | | - if (enable_stb && dev->cpu_id == AMD_CPU_ID_YC) { |
| 889 | + if (enable_stb && (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB)) { |
881 | 890 | err = amd_pmc_s2d_init(dev); |
882 | 891 | if (err) |
883 | 892 | return err; |
@@ -915,6 +924,7 @@ static const struct acpi_device_id amd_pmc_acpi_ids[] = { |
915 | 924 | {"AMDI0005", 0}, |
916 | 925 | {"AMDI0006", 0}, |
917 | 926 | {"AMDI0007", 0}, |
| 927 | + {"AMDI0008", 0}, |
918 | 928 | {"AMD0004", 0}, |
919 | 929 | {"AMD0005", 0}, |
920 | 930 | { } |
|
0 commit comments