Hi Paul, good to get a mail from you :-) On Tue, Sep 15, 2015 at 04:31:03PM -0700, pauldzim . wrote: > It's dangerous to use Update Transfer when the DWC3_TRB_CTRL_LST bit > might be set in one of the TRBs. The reason is, there is a window > between checking that the transfer has not completed yet and issuing > the Update Transfer command. If the hardware happens to complete the > transfer and see the DWC3_TRB_CTRL_LST bit set within that window, > then the Update Transfer command will not work, and a Start Transfer > command will be required instead. oh that's sad. It gave me such great improvements with MSC :-( Well, one way would be to never use the LST bit, then I could even disable XFER_COMPLETE event altogether. That would be a much more involved rework though, much more likely to cause all sorts of regressions :-( > So it's only safe to use Update Transfer if (a) you have a circular > TRB chain where no TRB has the _LST bit set, or (b) you have a deep > TRB chain, and the hardware is far enough away from the end that you > can be sure it can't reach the TRB with the _LST bit set before you > issue the Update Transfer command. > > Paul Z, > Retired but still reading the Linux lists from time to time -- balbi
Attachment:
signature.asc
Description: Digital signature