PCI Express Hot-plug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Under the most recent linux kernel, we are using intel chipset COM modules (kontron and other OEMs probably) as the computer part of our products. An FPGA device is connected to 4 lanes of PCI express. Right now the FPGA gets programmed by a flash PROM at power up, so the BIOS enumerates it initially.

Since we don't need the device at boot time, I want to get rid of the PROM and program the FPGA using SPI from the CPU later during the boot process, i.e. after user-space init, perhaps when I modprobe my driver module, in module_init... This would mean that at BIOS PCI enumeration, the device would be dead on the bus.

I was thinking of the hotplug feature of PCI express to get the PCI subsystem to suddenly declare the presence of the device. Or perhaps after I program the FPGA I would poke something in the PCI subsystem to make it enumerate the PCI config space again?

Some things to consider:
- our PCIe device is a bus master, we use DMAR through the vt-d IOMMU to create large chunk of device side contiguous addresses DMA area on our current product (will do without for our next product)
- We are considering the latest Atom E6xx and it's fellow chipset and perhaps uEFI for our next product. Does the firmware necessarily need to be hotplug aware or can everything be controlled from linux? Do I even have to worry about this?
- The card would obviously always be physically connected (closed casing), so I guess some pins on PCI Express bus would have to be asserted/deasserted to trigger a presence detect once the FPGA programming is done perhaps?

Are there examples of other device drivers in the kernel that do something similar? Any pointers are appreciated.

Thanks in advance
/jfd

Jean-Francois Dagenais
Software Architect - B.Sc.A


Experience the new veo phased array flaw detector at www.sonatestveo.com.


Sonatest AP
2900 chemin des Quatre-Bourgeois
Bureau 305
Quebec City Quebec G1V 1Y4

T| +1 (418) 683 6222 x106   F| +1 (418) 683 7032   M|    W| www.sonatest.com



This message (and any associated files) is intended only for the use of linux-pci@xxxxxxxxxxxxxxx and may contain information that is confidential, subject to copyright or constitutes a trade secret. If you are not the above recipient(s) you are hereby notified that any dissemination, copying or distribution of this message, or files associated with this message, is strictly prohibited. If you have received this message in error, please notify us immediately by replying to the message and deleting it from your computer. Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.

Think green - help the environment by not printing this email.
--
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


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux