lspci enumeration failed through PCIe switch
I am having trouble of making PCIe switch working.
I have two boards (the 1st one has COM-Express and PCIe switch, and the 2nd board has an FPGA) which I want COM-Express to enumerate the FPGA through the PCIe Switch. COM-Express is running on Fedora.
When I established case1, normally the FPGA is not enumerated (doesn't appear from lspci). When I established connection like case2, the FPGA is always enumerated. However, if I established case2 connection first such that the FPGA is enumerated once and then if I power-down(at the ATX power supply) and establish case1 again, lspci magically shows the FPGA.
case1: COM-Express ---> PCIe Switch ---(through SATA cable)---> External FPGA
case2: COM-Express ---(through SATA cable)---> External FPGA
After that, the FPGA is always enumerated (through the switch) whenever I reboot WITHOUT changing connection. But if I make the FPGA disappeared from lspci by disconnecting the FPGA and powering-on the 1st board only, and then if I make case 1 connection without going through case2, then the FPGA is always not detected.
Could someone explain why this is happening? When I boot-up, I made sure FPGA is configured first and COM-Express is boot up after. I have been struggling with this problem for a month, but still have no clue what's going on. Could someone help me out?
|