Jeff,
Maybe we can step back to the basic PCIe setup check and the configuration details of your testing could be very helpful.
1. You enabled the Outbound translation in DSP PCIe (OB_XLT_EN bit in CMD_STATUS register), right? The transfer length should be inside of the Outbound translation window you programmed for DSP PCIe, and also within the BAR window you setup for Host BAR.
Please take a look at section "3.1 PCIe Outbound Address Translation" in PCIe user case app note for the outbound setup example.
And could you share your configurations of the DSP PCIe (maybe whole register dump from 0x21800000) and also the Host BAR window size please?
2. How did you check the EDMA Write is working OK please? By checking the destination buffers in host memory?
If EDMA Write is working, are you using the same addresses pattern for both EDMA Write and Read please?
If not, would you try the working address pattern on EDMA Read as well (just swap Src/Dst in EDMA setup)?
Maybe the EDMA read address pattern falls out of the PCIe outbound translation window or out of Host BAR window. Also please check if the host memory area being accessed by EDMA Read from DSP is valid for access.
3. Please refer to the example we mentioned in #1 above. And again, please share your PCIe configurations with us which could be helpful for debugging.
4. I am not aware of issue in QDMA with multicore. You can change it to DMA channel as well. But if QDMA Write is working for you, probably we could focus on the above 3 points first. Thanks.