• Dan Streetman's avatar
    [PATCH] improved TT scheduling for EHCI · ba47f66b
    Dan Streetman authored
    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: default avatarDan Streetman <ddstreet@ieee.org>
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    ba47f66b
ehci-sched.c 56.4 KB