> -----Original Message----- > From: andriy.shevchenko@xxxxxxxxxxxxxxx <andriy.shevchenko@xxxxxxxxxxxxxxx> > Sent: Thursday, January 19, 2023 7:28 PM > To: Zhang, Tianfei <tianfei.zhang@xxxxxxxxx> > Cc: Pali Rohár <pali@xxxxxxxxxx>; bhelgaas@xxxxxxxxxx; linux- > pci@xxxxxxxxxxxxxxx; linux-fpga@xxxxxxxxxxxxxxx; lukas@xxxxxxxxx; > kabel@xxxxxxxxxx; mani@xxxxxxxxxx; mdf@xxxxxxxxxx; Wu, Hao > <hao.wu@xxxxxxxxx>; Xu, Yilun <yilun.xu@xxxxxxxxx>; Rix, Tom <trix@xxxxxxxxxx>; > jgg@xxxxxxxx; Weiny, Ira <ira.weiny@xxxxxxxxx>; Williams, Dan J > <dan.j.williams@xxxxxxxxx>; keescook@xxxxxxxxxxxx; rafael@xxxxxxxxxx; Weight, > Russell H <russell.h.weight@xxxxxxxxx>; corbet@xxxxxxx; linux- > doc@xxxxxxxxxxxxxxx; ilpo.jarvinen@xxxxxxxxxxxxxxx; lee@xxxxxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; matthew.gerlach@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v1 00/12] add FPGA hotplug manager driver > > On Thu, Jan 19, 2023 at 08:17:05AM +0000, Zhang, Tianfei wrote: > > > From: Pali Rohár <pali@xxxxxxxxxx> > > > Sent: Thursday, January 19, 2023 4:06 PM On Wednesday 18 January > > > 2023 20:35:50 Tianfei Zhang wrote: > > ... > > > > > To change the FPGA image, the kernel burns a new image into the > > > > flash on the card, and then triggers the card BMC to load the new image into > FPGA. > > > > A new FPGA hotplug manager driver is introduced that leverages the > > > > PCIe hotplug framework to trigger and manage the update of the > > > > FPGA image, including the disappearance and reappearance of the card on the > PCIe bus. > > > > The fpgahp driver uses APIs from the pciehp driver. > > > > > > Just I'm thinking about one thing. PCIe cards can support PCIe > > > hotplug mechanism (via standard PCIe capabilities). So what would > > > happen when FPGA based PCIe card is also hotplug-able? Will be there > > > two PCI hotplug drivers/devices (one fpgahp and one pciehp)? Or just one and > which? > > > > For our Intel PAC N3000 and N6000 FPGA card, there are not support > > PCIe hotplug capability from hardware side now, but from software > > perspective, the process of FPGA image load is very similar with PCIe > > hotplug, like removing all of devices under PCIe bridge, re-scan the > > PCIe device under the bridge, so we are looking for the PCIe hotplug > > framework and APIs from pciehp driver to manager this process, and reduce some > duplicate code. > > Exactly, from the OS perspective they both should be equivalent. Additionally, for FPGA usage, it doesn't need physical hot-add and hot-removal of the card for FPGA card managements like load a new FPGA image in FPGA deployment of data center or cloud. So whatever the card support PCIe hotplug capability or not, it can be done by leveraging the PCI hotplug framework and APIs from pciehp driver. I think it also has benefits for other vendor's FPGA Card to do some card managements by using fpgahp driver.