Message ID | 20240422230257.1959-1-peter.colberg@intel.com (mailing list archive) |
---|---|
State | Mainlined |
Headers | show |
Series | fpga: dfl-pci: add PCI subdevice ID for Intel D5005 card | expand |
On Mon, Apr 22, 2024 at 07:02:57PM -0400, Peter Colberg wrote: > Add PCI subdevice ID for the Intel D5005 Stratix 10 FPGA card as > used with the Open FPGA Stack (OFS) FPGA Interface Manager (FIM). > > Unlike the Intel D5005 PAC FIM which exposed a separate PCI device ID, > the OFS FIM reuses the same device ID for all DFL-based FPGA cards > and differentiates on the subdevice ID. The subdevice ID values were > chosen as the numeric part of the FPGA card names in hexadecimal. > > Link: https://github.com/OFS/dfl-feature-id/pull/4 Any reason to put the Link in changelog. I didn't see it provide any extra info. > Signed-off-by: Peter Colberg <peter.colberg@intel.com> > Reviewed-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> Besides, Acked-by: Xu Yilun <yilun.xu@intel.com> > --- > This patch was applied to Linux v6.9-rc5 and tested on an Intel D5005 > card flashed with the latest released OFS 2024.1-1 D5005 FIM. > > # fpgainfo fme D8:00.0 > Intel FPGA Programmable Acceleration Card D5005 > Board Management Controller, MAX10 NIOS FW version: 2.0.12 > Board Management Controller, MAX10 Build version: 2.0.8 > //****** FME ******// > Interface : DFL > Object Id : 0xED00002 > PCIe s:b:d.f : 0000:D8:00.0 > Vendor Id : 0x8086 > Device Id : 0xBCCE > SubVendor Id : 0x8086 > SubDevice Id : 0x138D > Socket Id : 0x00 > Ports Num : 01 > Bitstream Id : 0x4010002183C88A9 > Bitstream Version : 4.0.1 > Pr Interface Id : a195b6f7-cf23-5a2b-8ef9-1161e184ec4e > Boot Page : user > > Link: https://github.com/OFS/ofs-d5005/releases/tag/ofs-2024.1-1 > --- > The missing subdevice ID 0x138d was noticed while testing the patch > series "fpga: dfl: fix kernel warning on port release/assign for SRIOV" > applied to v6.9-rc4 on an Intel D5005 card. The absence of the subdevice > ID was shadowed by an internal patch in the downstream Linux DFL kernel > ("fpga: dfl: Add wildcard sub-device ID for intel DFL devs"). > > Link: https://github.com/OFS/linux-dfl/commit/27d3d71824f086acae86e41a87b591838b7fa9d1 > --- > drivers/fpga/dfl-pci.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c > index 98b8fd16183e..80cac3a5f976 100644 > --- a/drivers/fpga/dfl-pci.c > +++ b/drivers/fpga/dfl-pci.c > @@ -78,6 +78,7 @@ static void cci_pci_free_irq(struct pci_dev *pcidev) > #define PCIE_DEVICE_ID_SILICOM_PAC_N5011 0x1001 > #define PCIE_DEVICE_ID_INTEL_DFL 0xbcce > /* PCI Subdevice ID for PCIE_DEVICE_ID_INTEL_DFL */ > +#define PCIE_SUBDEVICE_ID_INTEL_D5005 0x138d > #define PCIE_SUBDEVICE_ID_INTEL_N6000 0x1770 > #define PCIE_SUBDEVICE_ID_INTEL_N6001 0x1771 > #define PCIE_SUBDEVICE_ID_INTEL_C6100 0x17d4 > @@ -101,6 +102,8 @@ static struct pci_device_id cci_pcie_id_tbl[] = { > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_PAC_D5005_VF),}, > {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5010),}, > {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5011),}, > + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, > + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_D5005),}, > {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, > PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6000),}, > {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF, > -- > 2.44.0 > >
On Fri, 2024-04-26 at 12:10 +0800, Xu Yilun wrote: > On Mon, Apr 22, 2024 at 07:02:57PM -0400, Peter Colberg wrote: > > Add PCI subdevice ID for the Intel D5005 Stratix 10 FPGA card as > > used with the Open FPGA Stack (OFS) FPGA Interface Manager (FIM). > > > > Unlike the Intel D5005 PAC FIM which exposed a separate PCI device ID, > > the OFS FIM reuses the same device ID for all DFL-based FPGA cards > > and differentiates on the subdevice ID. The subdevice ID values were > > chosen as the numeric part of the FPGA card names in hexadecimal. > > > > Link: https://github.com/OFS/dfl-feature-id/pull/4 > > Any reason to put the Link in changelog. I didn't see it provide any > extra info. The link is provided to point to the corresponding change in the dfl- pci-ids registry, for someone who might not be aware of its existence. > > > Signed-off-by: Peter Colberg <peter.colberg@intel.com> > > Reviewed-by: Matthew Gerlach <matthew.gerlach@linux.intel.com> > > Besides, > > Acked-by: Xu Yilun <yilun.xu@intel.com> Thank you for the review. Peter > > > --- > > This patch was applied to Linux v6.9-rc5 and tested on an Intel D5005 > > card flashed with the latest released OFS 2024.1-1 D5005 FIM. > > > > # fpgainfo fme D8:00.0 > > Intel FPGA Programmable Acceleration Card D5005 > > Board Management Controller, MAX10 NIOS FW version: 2.0.12 > > Board Management Controller, MAX10 Build version: 2.0.8 > > //****** FME ******// > > Interface : DFL > > Object Id : 0xED00002 > > PCIe s:b:d.f : 0000:D8:00.0 > > Vendor Id : 0x8086 > > Device Id : 0xBCCE > > SubVendor Id : 0x8086 > > SubDevice Id : 0x138D > > Socket Id : 0x00 > > Ports Num : 01 > > Bitstream Id : 0x4010002183C88A9 > > Bitstream Version : 4.0.1 > > Pr Interface Id : a195b6f7-cf23-5a2b-8ef9-1161e184ec4e > > Boot Page : user > > > > Link: https://github.com/OFS/ofs-d5005/releases/tag/ofs-2024.1-1 > > --- > > The missing subdevice ID 0x138d was noticed while testing the patch > > series "fpga: dfl: fix kernel warning on port release/assign for SRIOV" > > applied to v6.9-rc4 on an Intel D5005 card. The absence of the subdevice > > ID was shadowed by an internal patch in the downstream Linux DFL kernel > > ("fpga: dfl: Add wildcard sub-device ID for intel DFL devs"). > > > > Link: https://github.com/OFS/linux-dfl/commit/27d3d71824f086acae86e41a87b591838b7fa9d1 > > --- > > drivers/fpga/dfl-pci.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c > > index 98b8fd16183e..80cac3a5f976 100644 > > --- a/drivers/fpga/dfl-pci.c > > +++ b/drivers/fpga/dfl-pci.c > > @@ -78,6 +78,7 @@ static void cci_pci_free_irq(struct pci_dev *pcidev) > > #define PCIE_DEVICE_ID_SILICOM_PAC_N5011 0x1001 > > #define PCIE_DEVICE_ID_INTEL_DFL 0xbcce > > /* PCI Subdevice ID for PCIE_DEVICE_ID_INTEL_DFL */ > > +#define PCIE_SUBDEVICE_ID_INTEL_D5005 0x138d > > #define PCIE_SUBDEVICE_ID_INTEL_N6000 0x1770 > > #define PCIE_SUBDEVICE_ID_INTEL_N6001 0x1771 > > #define PCIE_SUBDEVICE_ID_INTEL_C6100 0x17d4 > > @@ -101,6 +102,8 @@ static struct pci_device_id cci_pcie_id_tbl[] = { > > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_PAC_D5005_VF),}, > > {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5010),}, > > {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5011),}, > > + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, > > + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_D5005),}, > > {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, > > PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6000),}, > > {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF, > > -- > > 2.44.0 > > > >
On Fri, Apr 26, 2024 at 09:35:07PM +0000, Colberg, Peter wrote: > On Fri, 2024-04-26 at 12:10 +0800, Xu Yilun wrote: > > On Mon, Apr 22, 2024 at 07:02:57PM -0400, Peter Colberg wrote: > > > Add PCI subdevice ID for the Intel D5005 Stratix 10 FPGA card as > > > used with the Open FPGA Stack (OFS) FPGA Interface Manager (FIM). > > > > > > Unlike the Intel D5005 PAC FIM which exposed a separate PCI device ID, > > > the OFS FIM reuses the same device ID for all DFL-based FPGA cards > > > and differentiates on the subdevice ID. The subdevice ID values were > > > chosen as the numeric part of the FPGA card names in hexadecimal. > > > > > > Link: https://github.com/OFS/dfl-feature-id/pull/4 > > > > Any reason to put the Link in changelog. I didn't see it provide any > > extra info. > > The link is provided to point to the corresponding change in the dfl- > pci-ids registry, for someone who might not be aware of its existence. I suggest you don't put it in changelog, few people care about this downstream history. Put it below '---' if really necessary. I deleted this link when apply. Thanks, Yilun
diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c index 98b8fd16183e..80cac3a5f976 100644 --- a/drivers/fpga/dfl-pci.c +++ b/drivers/fpga/dfl-pci.c @@ -78,6 +78,7 @@ static void cci_pci_free_irq(struct pci_dev *pcidev) #define PCIE_DEVICE_ID_SILICOM_PAC_N5011 0x1001 #define PCIE_DEVICE_ID_INTEL_DFL 0xbcce /* PCI Subdevice ID for PCIE_DEVICE_ID_INTEL_DFL */ +#define PCIE_SUBDEVICE_ID_INTEL_D5005 0x138d #define PCIE_SUBDEVICE_ID_INTEL_N6000 0x1770 #define PCIE_SUBDEVICE_ID_INTEL_N6001 0x1771 #define PCIE_SUBDEVICE_ID_INTEL_C6100 0x17d4 @@ -101,6 +102,8 @@ static struct pci_device_id cci_pcie_id_tbl[] = { {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_PAC_D5005_VF),}, {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5010),}, {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5011),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_D5005),}, {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6000),}, {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF,