I have been getting Linux AER PCIe Bus Error related with Completion Timeout when I attempt fast PCIe transactions (read). I have tried increasing the completion timeout value. We were able to investigated the flow control credits by probing our FPGA and saw that the credits are going down to zero. The bus error cases the system to halt.
We are wondering if there was a way to read the flow control credits on QorIQ LS1088A SOC so we can use this to control when to perform the next PCIe transaction.
I fixed this issue by updating the Xilinx AXI-to-PCIe IP bridge from the pre-production version to the production version.
Note: linux has the pci_wait_for_pending_transaction() function.