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:
- Don't set IMI if the request indicates no_interrupt. This reduces the time software needs to handle interrupts.
- Improve the underrun detection logic.
- 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