Eran Liberty

Freescale P2020 CPU Freeze over PCIe abort signal

Discussion created by Eran Liberty on Oct 26, 2010
Latest reply on Mar 16, 2011 by LAXMI T
This is the head of a thread I started in Linux mailing lists. The thread can be found at: http://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg47595.html --------------------snip -------------------- This should probably go to the Freescale support, as it feels like a hardware issue yet the end result is a very frozen Linux kernel so I post here first... I have a programmable FPGA PCIe device connected to a Freescale's P2020 PCIe port. As part of the bring-up tests, we are testing two faulty scenarios: 1. The FPGA totally ignores the PCIe transaction. 2. The FPGA return a transaction abort. Both are plausible PCIe behavior and their should be outcome is documented in the PCIe spec. The first should be terminated by the transaction requestor timeout mechanism and raise an error, the second should abort the transaction and raise and error. In P2020 if I do any of those the CPU is left hung over the transaction. --------------------snap -------------------- It all boils down to two PCIe register --------------------snip -------------------- Disabling PEX_OTB_CPL_TOR, PEX_CONF_RTY_TOR, or both yields the same behavior. The kernel freezes over the load command while the underlying hardware does PCIe transaction retries to infinity and beyond. --------------------snap -------------------- -- Liberty

Outcomes