Hello,
I'm using a EVM6678LE with AMC to PCIe-AdaptorCard and try to transfer data from our host system (Linux) to the DSP over PCIe. I'm using the EDMA3-Controller. Downstream (sending data from host to DSP) everything works fine and data arrives.
Upstream the DMA works (no errors, finish interrupt is triggered), but no data can be seen on host (only zeros). I'm not sure if the data arrives on the correct address (and data is corrupt) or data is sent to a wrong address.
I'm using exactly the same mechanism as downstream (what works great), just switching the Src- and Dest-Address. See below for a small example (modified means that the address is translated to the PCIe-Address and the outbound register is set). Are there any other hints or debug possibilities? We are not able to use a PCI-Express-Analyzer (too much delay for the signals over the boards -> no stable connection). So I don't know how to debug this.
Best Regards,
Bernd
Param-Set for Downstream (only one set):
Given from host: 80100008 01FF7000 00010591 00000000 00010001 0000FFFF 00010000 00000001
Modified: 80101008 600F7000 00010591 84002000 00010001 0000FFFF 00010000 00000001 (Outbound reg: 0x01F00001)
Param-Set for Upstream (only one set):
Given from host: 80100008 01FF8000 000107F8 00000000 00010001 0000FFFF 00010000 00000001
Modified: 80100008 80002000 000107F8 600F8000 00010001 0000FFFF 00010000 00000001 (Outbound reg: 0x01F00001)
TCC for Downstream is 1, for Upstream is 0 (therefore the first word is different); everything else is the same, only Dst / Src switched