Re: [PATCH 2/8] usb/dwc3: Fix missed isoc

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

 



On Thu, Jan 10, 2013 at 04:47:05PM +0530, Pratyush Anand wrote:
> On 1/10/2013 4:20 PM, Felipe Balbi wrote:
> >On Thu, Jan 10, 2013 at 03:23:16PM +0530, Pratyush Anand wrote:
> >>There are two reasons to generate missed isoc.
> >>
> >>1. when the host does not poll for all the data.
> >>2. because of application-side delays that prevent all the data from
> >>being transferred in programmed microframe.
> >>
> >>Current code was able to handle first case only.  Now we take following
> >>approach to handle missed isoc.
> >>
> >>If missed isoc occurred and there is no request queued then issue END
> >>TRANSFER, so that core generates next xfernotready and we will issue a
> >>fresh START TRANSFER.
> >>If there are still queued request then wait, do not issue either END or
> >>UPDATE TRANSFER, just attach next request in request_list during giveback.
> >>If any future queued request is successfully transferred then we will issue
> >>UPDATE TRANSFER for all request in the request_list.
> >>
> >>Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx>
> >
> >this is the *THIRD* patch fixing for "missed ISOC". Something is going
> 
> I think its second. ;)

$ git log --oneline --grep="missed" v3.8-rc3 -- drivers/usb/dwc3/gadget.c
79c9046 usb: dwc3: gadget: correct missed isoc when endpoint is busy
d6d6ec7 usb: dwc3: Fix missed isoc IN transaction

> >on, make sure to test this properly and fix "missed ISOC" once and for
> >all.
> >
> >I will wait for testcases which show how to reproduce the problem and
> >after applying this patch fixes it.
> >
> >Also, make sure to let me know how you tested it, which gadget drivers
> >have you used ? I would like to have g_zero, g_audio and g_webcam tested
> >to make sure different use cases are exercised.
> 
> We have a custom gadget which supports f_sourcesink, f_uac2 and a
> custom video function  (based on g_webcam) in a single composite
> device.
> 
> Both audio and video gadget uses different isoc endpoint and at same
> time we run bulk in using testusb.
> 
> Patches have been tested with this device.
> 
> But, I think it can be reproduced easily by only g_zero too. Keep
> bInterval = 1 and then introduce delay of 150 us deliberately in
> source_sink_complete (to generate second condition as stated in
> commit log). Code should not work without this patch.

ok, thanks for the update. Make sure to explain how you test on your
commit log. It's important to have enough information specially judging
that we already have 2 commits fixing missed ISOC in tree.

-- 
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