Re: Starting frames for isochronous URBs in xhci-hcd

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

 



On Thu, 2 May 2013, Sarah Sharp wrote:

> On Thu, May 02, 2013 at 04:01:32PM -0400, Alan Stern wrote:
> > Sarah:
> > 
> > xhci_queue_isoc_tx_prepare() has a comment saying "Always assume 
> > URB_ISO_ASAP set".  I'd like to see about fixing this, but I don't know 
> > where to look.  It doesn't seem as though any significant computations 
> > are done for the starting frame; the value always gets set to the 
> > current (micro)frame number.  In particular, the driver doesn't use 
> > HCS_IST.
> > 
> > Does the hardware expose the scheduling information for isochronous 
> > endpoints?  I couldn't find any mention of this in the xHCI spec.
> 
> That's a big can of worms.  I have a larger plan to fix some isochronous
> ring performance issues, and I'd like to implement this change along
> with that.

Okay.  It's not a big deal at the moment.

> Can you wait for that change to go in?  AFAIK no in-kernel drivers don't
> set URB_ISO_ASAP, so I didn't think this was an urgent change.

Clemens Ladisch recently posted a patch removing the URB_ISO_ASAP flags 
from the usb-audio drivers.  Of course, as long as xhci-hcd ignores 
that flag anyway, it won't make any difference.

Incidentally, I just noticed something odd while working on the audio
issue.  Many audio devices use isochronous feedback endpoints for clock
synchronization.  The audio class specification says that the
descriptors for these feedback endpoints should always have bInterval
set to 1; the actual interval for the endpoint is stored in the
bRefresh field.  Lord knows why they did this, but it is something we
will have to take into account for scheduling.

Alan Stern

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




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

  Powered by Linux