I've done some of the requisite homework myself for getting full speed
audio devices to work properly through ehci and TTs on a 2.0 hub
(playback *and* capture).  At this point it all works although my
changes are not production-ready.

I have three specific questions for now.

The primary reason DIR_IN iso modes didn't work comes down to schedule
mask bugs. However, there's also an explicit test to see that IN
csplits are not wrapped into a following frame; if they would have to
be, the schedule attempt is rejected.  I see no reason for this
restriction anywhere in the spec docs (and indeed, ISO IN can't work
properly unless the restriction is removed; the 'start capture' OUT
plus the 'get capture data' IN don't fit in one frame for > stereo
capture).  AFAICT, the restriction was there to hide/prevent a c_mask
overflow.

Second question: The official USB 2.0 spec shows no examples that do
this, but the Intel echi spec examples all pipeline transfers heavily
by overlapping the final c-split of the current transfer and the
initial s-split of the following transfer into the same uframe.  I've
implemented the same strategy myself and it works as the Intel docs
suggest... but is there a reason the preexisting scheduler does not do
this?  Is there a contention issue I'm not seing (eg, is this only
working because my final csplit and overlapping intiial ssplit are
small enough to fit in one uframe, but it's possible that wouldn't
work in the future?  Or is the final c-split always padding anyway?)

Third: In ehci-sched.c:check_intr_sched():

   if (qh->c_usecs && uframe >= 6){           /* FSTN territory? */
     goto done;
   }

Huh? Reject any csplit that falls into uframe 6 or 7 for an intr? That doesn't make any sense (yes, a s-split can't fall into uframe 6,
but that's something different that, ironically, the code doesn't
check for).

Monty


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to