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)
- Have others seen the PCIe Controller Failures?
- If so, is there a work around?
- Is the problem in the 3.0 revision of the chip?
- Does the 8148 have the same problem?
- Is it possible to recover from the problem by resetting the PCIe subsystem?
- Would a PCIe analyzer help? Which one do you recommend?
- Will it help to reduce the transfer rate from 5.0 Gts to 2.5 Gts?
- Will it help to disable Active State Power Management?
- 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.