This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCIe Controller Failure

Other Parts Discussed in Thread: AM3874

I apologize for reposting, but I didn't get any response and I have a possible workaround.

After one or two days of operation, the PCIe Controller seems to fail with the following symptoms:

  • From the PC side, all memory, including configuration space, reads all ones.
  • From the Sitara side, attempts to read PCIe registers result in address faults.  However, we can still read PRCM registers.

Description of our use:

  • We use an I7 based PC to send video frames to a 3874 Sitara over PCIE.
  • Thirty frames are sent per second. Each frame is approximately 700 KB.
  • Frame transfers take around 2 ms. at 5.0 Gts and 4 ms. at 2.5 Gts.
  • The Sitara uses DMA to read the frames from PC memory to RAM.
  • The PC reads/write Sitara memory to control the transfers. This is around 1000 transactions per second.
  • Our 3874's are rev 2.1 (3874BCYE80)
Questions:
  1. Have others seen the PCIe Controller Failures?
  2. If so, is there a work around?
  3. Is the problem in the 3.0 revision of the chip?
  4. Does the 8148 have the same problem?
  5. Is it possible to recover from the problem by resetting the PCIe subsystem?
  6. Would a PCIe analyzer help? Which one do you recommend?
  7. Will it help to reduce the transfer rate from 5.0 Gts to 2.5 Gts?
  8. Will it help to disable Active State Power Management?
  9. The errata (3.0.6) says that mis-aligned burst transfers cause corruption.  Is it possible that we're making burst transfers with I7 CPU instructions?

Possible workaround:

We tried disabling Active State Power Management and our failures seem to have stopped. 

 
Help will be greatly appreciated.
 
Thanks,
Michael
  • Hi Michael,

    Please make sure you are using the latest EZSDK for AM387x device, which is 5.04.00.11

    Michael Rubinstein said:
    Is the problem in the 3.0 revision of the chip?

    I have checked the AM387x Errata : http://www.ti.com/lit/er/sprz345c/sprz345c.pdf  All PCIe related advisories are valid for 3.0 and earlier versions of the AM387x device, which means this problem should be valid for 2.x versions also.

    Michael Rubinstein said:
    Does the 8148 have the same problem?

    I think DM8148 and AM3874 devices use the same PCIe controller.

    Michael Rubinstein said:
    We tried disabling Active State Power Management and our failures seem to have stopped. 

    I suspect this is the main issue here - ASPM.

    This is what we have in our wiki pages:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_U-Boot_PCIe_Boot_User_Guide

    Features not supported

    PCIe Power Management capabilities (such as device states, ASPM link states) are currently not enabled.

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_PCI_Express_Root_Complex_Driver_User_Guide

    Note-5: PCIe Power Management features such as device power states and PME handling are currently not supported. Also, ASPM is disabled by default.

    Refer also to the below link:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/167167/616250.aspx

    Best regards,
    Pavel

  • Hi Pavel,

    Thanks for the info.

    Disabling ASPM is an acceptable solution for our application.

    Michael