On 7/18/2024 22:43, Bjorn Helgaas wrote: > On Thu, Jul 18, 2024 at 07:32:58PM +0530, Shyam Sundar S K wrote: >> Add the new PCI Device IDs to the root IDs and misc ids list to support >> new generation of AMD 1Ah family 60h Models of processors. >> >> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx> >> --- >> (As the amd_nb functions are used by PMC and PMF drivers, without these IDs >> being present AMD PMF/PMC probe shall fail.) > > Is there any plan for making this generic so a kernel update is not > needed? Obviously the *functionality* is not changed by this patch, > so having to add a device ID for every new processor just makes work > for distros and users. Regarding AMD processors, there are numerous PCI IDs defined in the PPRs/BKDG. I'm not sure if there's a generic way to address this without a kernel update. > >> arch/x86/kernel/amd_nb.c | 3 +++ >> include/linux/pci_ids.h | 1 + >> 2 files changed, 4 insertions(+) >> >> diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c >> index 059e5c16af05..61eadde08511 100644 >> --- a/arch/x86/kernel/amd_nb.c >> +++ b/arch/x86/kernel/amd_nb.c >> @@ -26,6 +26,7 @@ >> #define PCI_DEVICE_ID_AMD_19H_M70H_ROOT 0x14e8 >> #define PCI_DEVICE_ID_AMD_1AH_M00H_ROOT 0x153a >> #define PCI_DEVICE_ID_AMD_1AH_M20H_ROOT 0x1507 >> +#define PCI_DEVICE_ID_AMD_1AH_M60H_ROOT 0x1122 >> #define PCI_DEVICE_ID_AMD_MI200_ROOT 0x14bb >> #define PCI_DEVICE_ID_AMD_MI300_ROOT 0x14f8 >> >> @@ -63,6 +64,7 @@ static const struct pci_device_id amd_root_ids[] = { >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M70H_ROOT) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M00H_ROOT) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M20H_ROOT) }, >> + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M60H_ROOT) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_MI200_ROOT) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_MI300_ROOT) }, >> {} >> @@ -95,6 +97,7 @@ static const struct pci_device_id amd_nb_misc_ids[] = { >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_M78H_DF_F3) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M00H_DF_F3) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M20H_DF_F3) }, >> + { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M60H_DF_F3) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_1AH_M70H_DF_F3) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_MI200_DF_F3) }, >> { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_MI300_DF_F3) }, >> diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h >> index 76a8f2d6bd64..bbe8f3dfa813 100644 >> --- a/include/linux/pci_ids.h >> +++ b/include/linux/pci_ids.h >> @@ -580,6 +580,7 @@ >> #define PCI_DEVICE_ID_AMD_19H_M78H_DF_F3 0x12fb >> #define PCI_DEVICE_ID_AMD_1AH_M00H_DF_F3 0x12c3 >> #define PCI_DEVICE_ID_AMD_1AH_M20H_DF_F3 0x16fb >> +#define PCI_DEVICE_ID_AMD_1AH_M60H_DF_F3 0x124b > > Why not add this in amd_nb.c, as you did for > PCI_DEVICE_ID_AMD_1AH_M60H_ROOT? There's already a > PCI_DEVICE_ID_AMD_CNB17H_F4 definition there. No need to update > pci_ids.h unless PCI_DEVICE_ID_AMD_1AH_M60H_DF_F3 is used in more than > one place. > > Based on previous history, I suppose PCI_DEVICE_ID_AMD_1AH_M60H_DF_F3 > will someday be used by k10temp.c? Ideally a pci_ids.h addition would > be in the same patch that adds uses in both amd_nb.c and k10temp.c so > it's clear that the new definition is used in two places. > Okay, I understand your point. I will add PCI_DEVICE_ID_AMD_1AH_M60H_DF_F3 to k10temp.c in v2. Thanks, Shyam >> #define PCI_DEVICE_ID_AMD_1AH_M70H_DF_F3 0x12bb >> #define PCI_DEVICE_ID_AMD_MI200_DF_F3 0x14d3 >> #define PCI_DEVICE_ID_AMD_MI300_DF_F3 0x152b >> -- >> 2.25.1 >>