Le 26/10/2011 17:23, Alan Stern a écrit :
cat /dev/urandom | alsa_aplay -Dhw:2,0 -f S16_LE -c2&
uframe 5 : usecs 164 unavailable (remains 9/0 on uframe 7)
Note : On uframe 5 , the 164 usecs would be uframe 5 : 125, uframe 6 :
30, uframe 7 : 9,out of max
uframe 4 : sheduled
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
----------------------------------------------------------------------
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
----------------------------------------------------------------------
used usecs on a frame | 13 | 0 | 0 | 0 | 125 | 78 | 0 | 0 |
----------------------------------------------------------------------
This is a very bad idea. ehci-hcd does not support isochronous-IN
CSPLIT transactions extending beyond a frame boundary. In practice
this means that no isochronous-IN transaction should ever be scheduled
in uframe 4 or later.
I don't understant, this is the OUT transaction that has been scheduled
at uframe 4 & 5.
We did not change restriction for IN transactions, that now find a place
in uframe 2 & 3 (that are free because OUT does not occupate uframe 1 &
2 anymore) :
arecord -Dhw:2,0 --rate=48000 -c 2 -f S16_LE> /tmp/input
uframe 5, for IN, don't wrap CSPLIT into the next frame, not ok
uframe 4, for IN, don't wrap CSPLIT into the next frame, not ok
uframe 3, for IN, don't wrap CSPLIT into the next frame, not ok
uframe 2 : sheduled
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
----------------------------------------------------------------------
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
----------------------------------------------------------------------
used usecs on a frame | 13 | 0 | 125 | 40 | 125 | 78 | 0 | 0 |
----------------------------------------------------------------------
It's not possible to truly fix this problem without a very extensive
rewrite of ehci-sched.c. For now, the easiest band-aid solution is to
relax the restriction that transfers lasting longer than 125 us must
start in an empty uframe. Instead, check that no existing transactions
will be pushed back beyond their uframe boundary.
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