Re: [PATCH v2 2/5] usb: dwc3: gadget: start using Update Transfer more often

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux