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@xxxxxxxxx> > > Reviewed-by: Matthew Gerlach <matthew.gerlach@xxxxxxxxxxxxxxx> > > Besides, > > Acked-by: Xu Yilun <yilun.xu@xxxxxxxxx> 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 > > > >