Hi Felipe,

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.

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
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to