Re: [PATCH v3 2/6] usb: dwc3: gadget: cancel requests instead of release after missed isoc

From: Jeff Vanhoof
Date: Thu Oct 20 2022 - 16:53:19 EST


Hi Thinh,

> On Wed, Oct 19, 2022 at 11:06:08PM +0000, Thinh Nguyen wrote:
> > Hi,
> >

<snip>

> > >
> > > > The logic to detect underrun doesn't trigger because the queued list is
> > > > always non-empty, but the queued requests are expected to be missed
> > > > already. So you keep seeing missed isoc.
> > > >
> > > > There are a few things you can mitigate this issue:
> > > > 1) Don't set IMI if the request indicates no_interrupt. This reduces the
> > > > time software needs to handle interrupts.
> > >
> > >
> > > > 2) Improve the underrun detection logic.
> > >
> > >
> > > > 3) Increase the queuing frequency from the uvc to keep the request queue
> > > > full. Note that reduce/avoid setting no_interrupt will allow the
> > > > controller driver to update uvc often to keep requeuing new requests.
> > > >
> > > > Best option is 3), but maybe we can do all 3.
> > > >
> > >

I forgot about your option 2. Will start looking into it.

Thanks,
Jeff