Force PCIe Root Complex Link Training RRS feed

  • Question

  • Hello,

    we have a 4x PCIe camera device with a Lattice PCIe Core 5.3. On one system the Link Training is not done correctly. The PCIe config space say he have a 1x PCIe connection instead of a 4x. If we disable the device in the windows hardware manager and enable it, the device is reinitialized and correctly identified as 4x PCIe.

    I would force the root complex to retrain PCIe Link (inside of driver). But i dont know how to do this.  And i cant find something helpfully. I always treid to set we Link retrain bit in link control part of PCIe config space, but that would not help. At workaround i wrote a windows service that detect this case and disable/enable the device, but this is not a perfect solution.

    My question is:

    How could i init a new PCIe link training for my device inside of my driver?

    Thanks for your help.

    Tuesday, April 2, 2013 12:25 PM


  • you can't do this within your driver.  furthermore, I am guessing the root cause of this problem is your device's firmware and this is timing related and the disable/enable path is just masking the problem or changing the timing.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Tuesday, April 2, 2013 4:49 PM