How to overcome an INVALID_SEQUENCE error at CyU3PDmaMultiChannelCommitBuffer

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi folks,

   

I'm having problems to resolve an INVALID_SEQUENCE error in a Manual-Many-To-One (GPIF to USB) scenario at CyU3PDmaMultiChannelCommitBuffer.

   

I already tried to reset the GPIF (via Disable and Start), reset the DMA channel or destroy and re-create the DMA channel as well as flushing the Endpoint. This works in 99% of my errors but in one situation it doesn't help. I.e. I have an INVALID_SEQUENCE error at CyU3PDmaMultiChannelCommitBuffer periodically, such that my stream breaks down.

   

Maybe it's a situation like the one described in http://www.cypress.com/forum/usb-30-super-speed/manualmanytoone-multichannelcommitbuffer-returning-i... as I have a rather long period of time where the application is not able to receive data right before, but I don't know how to check this. Is there any register or property I can read out to be sure, that my problem is equivalent to the one described in that topic?

   

Further the Cypress employee suggests to resume the streaming, but how is this done, when none of the above mentioned actions help?

   

 

   

Thanks and kind regards,

   

Judith

0 Likes
1 Reply
Anonymous
Not applicable

Hi,

   

This error usually occurs in case of backflow i.e, data arriving at a very fast rate to the channel or if the data is not processed fast enough. I hope you are using the UVC Model of firmware as in An75779 application note. If so, we suggest you to use a more efficient model of firmware that can process the data even more faster so that this error is avoided.

   

Please contact the cypress tech Support to modify your firmware based on a recent more efficient model. Please mention about this forum post and my reply in the Tech Support Case you create.

   

Regards,

   

- Madhu Sudhan

0 Likes