]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] improved TT scheduling for EHCI
authorDan Streetman <ddstreet@ieee.org>
Wed, 24 May 2006 16:39:16 +0000 (09:39 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 21 Jun 2006 22:04:13 +0000 (15:04 -0700)
commit8f3f1fce8076c6b354a0eccf339348f27f530d6d
treea05a5c8b59d8f15b50d84b8cb3d2810e72d9223b
parentace9f628291109e79c0bbb49a4d70a2a28c64562
[PATCH] improved TT scheduling for EHCI

This updates the EHCI driver by adding an improved scheduler for the
transaction translators, found in USB 2.0 hubs and used for low and
full speed devices.

 - adds periodic_tt_usecs() and some helper functions, which does
   the same thing that "periodic_usecs" does, except on the other
   side of the TT, i.e.  it calculates the low/fullspeed bandwidth
   usage instead of highspeed.

 - adds a tt_available() function which is the new implementation
   of what tt_no_collision() does ... while tt_no_collision() ensures
   that each TT handles only 1 periodic transfer at a time (a very
   pessimistic approach) this version instead tracks bandwidth and
   allows each TT to handle as many transfers as will fit on each TT's
   downstream bus (closer to best-case).

The new scheduler is selected by a config option, marked as EXPERIMENTAL
so it can be tested (and more broadly reviewed) for a while until it
seems safe to remove the original scheduler.

Signed-off-by: Dan Streetman <ddstreet@ieee.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/Kconfig
drivers/usb/host/ehci-sched.c