Re: [PATCH v5 0/21] usb: dwc2: host: Fix and speed up all the stuff, especially with splits

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

 



Stefan,

On Fri, Jan 29, 2016 at 7:28 AM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
> Hi Doug,
>
> Am 27.01.2016 um 21:43 schrieb Doug Anderson:
>> Stefan,
>>
>> On Wed, Jan 27, 2016 at 12:36 PM, Stefan Wahren <stefan.wahren@xxxxxxxx> wrote:
>>> i can only give you feedback from a user perspective. My keyboard and C-Media
>>> USB Audio still works as expected.
>> OK, thanks!  So you had no problems before my patches and you still
>> have no problems after my patches.  ...but your USB setup is fairly
>> simple, at least.  Your testing is still valuable (thank you thank you
>> thank you), I just wanted to check.  :)
>
> if you need a result from a different USB setup in combination with your
> Patch V6 please describe.
>
> But i don't have a USB analyzer at home ;-)

Many (but not all) of my bugfixes are around dealing with with split
transactions.  That happens when you've got a high speed hub hooked up
to the port and then you attach a bunch of low speed / full speed
devices.

Things were even buggier if you attached a "single tt" hub.  A "single
tt" hub means that all low speed / full speed devices on the hub are
treated as being on a single full speed hub.  Said another way, if you
have a single tt hub then all of the low speed / full speed devices
attached to that hub need to share 12 MB/s of bandwidth.  If you have
a multi tt hub then each of the low speed / full speed devices
attached to the hub have their own 12 MB/s of bandwidth.  Most hubs
I've randomly obtained are single tt.


In any case, before my patches:

* If you have a USB Audio device that is FULL SPEED (not high speed)
plus a mouse or keyboard, playing audio will tend to cause problems
with the mouse / keyboard.

* Attaching multiple keyboards / mice to a hub would tend to cause
dropped keys on the keyboards / slow mice.  Things were worse with
fancier keyboards in general.  You didn't need to type things on all
keyboards at once, just have them attached.

* In general the more stuff you pile onto a hub the more problems.  My
stressful USB test case was to get a USB webcam + USB audio + a few
mice / keyboards.  That ought to improve significantly with my
patches, though I'm not 100% sure that the Raspberry Pi will really be
able to keep up with all that.  The USB webcam might be especially
stressful due to some craziness with uncached memory and URB
completion happening with interrupts disabled (even after forking
things off to a tasklet).  I can go into this more if someone is
interested but there's a bit of details in
<https://chromium-review.googlesource.com/#/c/321980/> and
<https://chromium-review.googlesource.com/#/c/321932/>.


If you happen to have a FULL SPEED (USB 1.1) hub it would also be
interesting to plug that into your Pi directly and then plug a few
things into it.  One of my patches addresses a problem related to
that.  Of course, it's pretty hard to track down a full speed hub
these days (I've got a box full of old peripherals in my closet).
--
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