Afte We are attempting to execute the testDIO_edmaStreamLsu example from DioLib. In this example, test case 0 is supposed to perform "EDMA-initiated directIO long (>4KBytes) streaming write and read operations with interrupt completion mechanism and a possible doorbell notification at the slave."
This test case calls DIO_streamingReq to perform the DIO send, after which it calls asm(" IDLE");, which according to a comment is to wait for an EDMA interrupt.
After IDLE, the example code calls DIO_getOpCompCode to check the completion code of the Srio transaction
First off, the IDLE is never passed. This may be due to commented out interrupt code in DioLib, but by commenting out the IDLE, we can get to the completion code using the debugger, which always fails regardless of how long we wait. When this send is performed we can see data received by the other Srio device, but only 512 bytes, not the 5120 bytes. And of course, since the transaction appears to never completes, no doorbells are generated.
We are executing on 2 TMDSEVM6457 evaluation boards with lane 1 of Srio connected between the 2 boards.
Code was commented out of DioLib following the CSL example testDIO_edmaStreamLsu. this was done just to get the Srio device to report initialized in the SP0_ERR_STAT register.
Independent of the state on interrupt enables on the device, should'nt the send still send all 5120 bytes. We are using the change of colors in the memory view to determine the number of bytes transfer, and have verified the contents of the first 16 bytes, but not the entire 512 bytes.
Do you have any idea what we should be looking for to correct this?
Bob Coburn