Message ID | 20220630050324.3780654-1-Shyam-sundar.S-k@amd.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [1/2] platform/x86/amd/pmc: Add new acpi id for PMC controller | expand |
Hi, On 6/30/22 07:03, Shyam Sundar S K wrote: > New version of PMC controller will have a separate ACPI id, add that > to the support list. > > Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Thank you for your patch-series, I've applied the series to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > --- > Based on "review-hans" branch. > > drivers/platform/x86/amd/pmc.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c > index f11d18beac18..73d6867cc20b 100644 > --- a/drivers/platform/x86/amd/pmc.c > +++ b/drivers/platform/x86/amd/pmc.c > @@ -91,6 +91,7 @@ > #define AMD_CPU_ID_PCO AMD_CPU_ID_RV > #define AMD_CPU_ID_CZN AMD_CPU_ID_RN > #define AMD_CPU_ID_YC 0x14B5 > +#define AMD_CPU_ID_CB 0x14D8 > > #define PMC_MSG_DELAY_MIN_US 50 > #define RESPONSE_REGISTER_LOOP_MAX 20000 > @@ -318,6 +319,7 @@ static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev, > val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_CZN); > break; > case AMD_CPU_ID_YC: > + case AMD_CPU_ID_CB: > val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_YC); > break; > default: > @@ -491,7 +493,7 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev) > &amd_pmc_idlemask_fops); > /* Enable STB only when the module_param is set */ > if (enable_stb) { > - if (dev->cpu_id == AMD_CPU_ID_YC) > + if (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB) > debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, > &amd_pmc_stb_debugfs_fops_v2); > else > @@ -615,6 +617,7 @@ static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev) > return MSG_OS_HINT_PCO; > case AMD_CPU_ID_RN: > case AMD_CPU_ID_YC: > + case AMD_CPU_ID_CB: > return MSG_OS_HINT_RN; > } > return -EINVAL; > @@ -735,6 +738,7 @@ static struct acpi_s2idle_dev_ops amd_pmc_s2idle_dev_ops = { > #endif > > static const struct pci_device_id pmc_pci_ids[] = { > + { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CB) }, > { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_YC) }, > { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CZN) }, > { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_RN) }, > @@ -877,7 +881,7 @@ static int amd_pmc_probe(struct platform_device *pdev) > > mutex_init(&dev->lock); > > - if (enable_stb && dev->cpu_id == AMD_CPU_ID_YC) { > + if (enable_stb && (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB)) { > err = amd_pmc_s2d_init(dev); > if (err) > return err; > @@ -915,6 +919,7 @@ static const struct acpi_device_id amd_pmc_acpi_ids[] = { > {"AMDI0005", 0}, > {"AMDI0006", 0}, > {"AMDI0007", 0}, > + {"AMDI0008", 0}, > {"AMD0004", 0}, > {"AMD0005", 0}, > { }
diff --git a/drivers/platform/x86/amd/pmc.c b/drivers/platform/x86/amd/pmc.c index f11d18beac18..73d6867cc20b 100644 --- a/drivers/platform/x86/amd/pmc.c +++ b/drivers/platform/x86/amd/pmc.c @@ -91,6 +91,7 @@ #define AMD_CPU_ID_PCO AMD_CPU_ID_RV #define AMD_CPU_ID_CZN AMD_CPU_ID_RN #define AMD_CPU_ID_YC 0x14B5 +#define AMD_CPU_ID_CB 0x14D8 #define PMC_MSG_DELAY_MIN_US 50 #define RESPONSE_REGISTER_LOOP_MAX 20000 @@ -318,6 +319,7 @@ static int amd_pmc_idlemask_read(struct amd_pmc_dev *pdev, struct device *dev, val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_CZN); break; case AMD_CPU_ID_YC: + case AMD_CPU_ID_CB: val = amd_pmc_reg_read(pdev, AMD_PMC_SCRATCH_REG_YC); break; default: @@ -491,7 +493,7 @@ static void amd_pmc_dbgfs_register(struct amd_pmc_dev *dev) &amd_pmc_idlemask_fops); /* Enable STB only when the module_param is set */ if (enable_stb) { - if (dev->cpu_id == AMD_CPU_ID_YC) + if (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB) debugfs_create_file("stb_read", 0644, dev->dbgfs_dir, dev, &amd_pmc_stb_debugfs_fops_v2); else @@ -615,6 +617,7 @@ static int amd_pmc_get_os_hint(struct amd_pmc_dev *dev) return MSG_OS_HINT_PCO; case AMD_CPU_ID_RN: case AMD_CPU_ID_YC: + case AMD_CPU_ID_CB: return MSG_OS_HINT_RN; } return -EINVAL; @@ -735,6 +738,7 @@ static struct acpi_s2idle_dev_ops amd_pmc_s2idle_dev_ops = { #endif static const struct pci_device_id pmc_pci_ids[] = { + { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CB) }, { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_YC) }, { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_CZN) }, { PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_RN) }, @@ -877,7 +881,7 @@ static int amd_pmc_probe(struct platform_device *pdev) mutex_init(&dev->lock); - if (enable_stb && dev->cpu_id == AMD_CPU_ID_YC) { + if (enable_stb && (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB)) { err = amd_pmc_s2d_init(dev); if (err) return err; @@ -915,6 +919,7 @@ static const struct acpi_device_id amd_pmc_acpi_ids[] = { {"AMDI0005", 0}, {"AMDI0006", 0}, {"AMDI0007", 0}, + {"AMDI0008", 0}, {"AMD0004", 0}, {"AMD0005", 0}, { }
New version of PMC controller will have a separate ACPI id, add that to the support list. Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> --- Based on "review-hans" branch. drivers/platform/x86/amd/pmc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)