Other Parts Discussed in Thread: 66AK2E05
We are using the TI Keystone II 66AK2E05 to interface to with a Xilinx Virtex 7 FPGA, over PCIe. When we read/write memory in the FPGA in a single task, everything works as expected. When we have multiple tasks that are using the PCIe, we are seeing issues where data appears to be corrupted. More specifically, we have a thread that is periodically reading blocks of data over PCIe (currently without DMA). We then have a HWI service handler routine, which also reads data over PCIe. We have observed that frequently the first several reads in the HWI service handler routine contains corrupted data. What do we need to do to allow a task, and a HWI service routine to read/write memory over PCIe, to prevent data corruption on reads in the HWI? It appears as if the PCIe core complex is in the middle of handling a non-posted read on the buss, and then the DSP gets a HWI, and then it attempts to read on the PCIe buss, and this puts the interface into a bad state. Does a non-posted read on the buss, not block the CPU?