On Tue, 2 Jul 2013, Clemens Ladisch wrote:

> Alan Stern wrote:
> >    256 samples/period / (44100 samples/second) * 8000 microframes/second
> >     = 46.44 microframes/period.
> >
> > Therefore I would expect to see snd-usb-audio submitting isochronous
> > URBs with 46 or 47 packets, with a pipeline depth of 2 URBs.
> >
> > However, that's not what actually happens.  The audio-out stream uses 8
> > URBs each containing about 7 packets on average, for a latency of 7 ms.
> > The audio-in stream uses 8 URBs each containing 1 packet, for a latency
> > of 0.125 ms and a pipeline duration of 1 ms -- which is too small for
> > the current version of ehci-hcd to accept.
> 
> IIRC 8 x 1 frames worked once upon a time.

And it will once again, after the conversion to tasklets.  :-)

> Anyway, the driver attempts to keep a minimum size of 1 ms for each URB,
> but also uses wMaxPacketSize to compute this and assumes that this is
> not too far off from the actual packet size.  This appears to be the
> first device to use a ridiculously large value of 1024 bytes.

I thought this might be related to the problem.  It was quite 
noticeable in the usbmon trace that the input data occupied only 40 or 
48 bytes of a 1024-byte buffer.

> I'll fix this in the driver.

Thank you.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to