Hello,
On BULK IN transfers from the GPIF, why does the transfer rate decreases significantly when I request for a large number of packets per transfer, for example, 2MB, and the stream occasionally has a few short consecutive packets?
If, I reduce the number of packets per transfer on the host to 0.25MB, then the transfer rate is what I expect it to be. If there are no consecutive short packets, the transfer rate is also normal. Something doesn't work right when short packets are consecutive and the host is requesting a large amount of data.
Additional info: FX3 is running with a firmware that is very similar to the slavefifo example. Max packet size is 1024bytes and each burst is 16 packets. There are 6 dma buffer allocated for automatic P2U transfers, each one is as large as a burst, 16384bytes. The GPIF state machine is exactly the one from the example. I should also mention that the short packets are not a multiple of max packet size.
Thanks,
-Eyal