* Thierry Reding wrote: > * Matthew Wilcox wrote: > > On Tue, Jun 16, 2009 at 08:48:38AM +0200, Thierry Reding wrote: > > > I have the following setup: a processor board with an FPGA that implements > > > additional functionality such as UART, network interface, etc. This FPGA > > > should be connected to the processor via a PCIe interface. That means the > > > FPGA instantiates a PCIe core for communication with the processor. > > > > > > I'm now facing the following problem: for better code quality I'd like to > > > implement the different components in the FPGA as separate logical PCI > > > devices, and support this functionality with a single Linux PCI driver > > > for that specific device. On the other hand the FPGA PCIe core is unable to > > > run in PCI bridge mode. My understanding was that in order to support > > > multiple devices through a single PCI host the only solution would be to have > > > the host run in bridge mode so that it can probe the subsequent devices. > > > > Can the core be configured to support multiple functions? Both PCI > > and PCIe allow a single device to support up to 8 functions. Here's an > > example from my laptop: > > > > 1c:03.0 CardBus bridge: O2 Micro, Inc. OZ711SP1 Memory CardBus Controller (rev 01) > > 1c:03.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 02) > > 1c:03.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02) > > > > (PCIe has extensions to allow a device to support more than eight > > functions, but that comes with limitations you probably don't want). > > I'll need to investigate whether this is possible. Thanks. > Thierry So the core seems to be able to support multiple functions. On the other hand, 8 functions is most likely not enough for our purposes. What kind of limitations does PCIe have with more than eight functions? Otherwise I'm probably stuck with either trying to find some other core that can run in bridge mode or having a monolithic driver to serve all logical devices. Thierry -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html