[coreboot] Patch merged into coreboot/master: 69eea7c libpayload: Split EHCI bulk transfers on packet boundaries over qTDs

gerrit at coreboot.org gerrit at coreboot.org
Wed Mar 13 23:08:12 CET 2013


the following patch was just integrated into master:
commit 69eea7c01af0ce095aa7618eadae72e86f6eebbe
Author: Julius Werner <jwerner at chromium.org>
Date:   Fri Jan 11 16:25:52 2013 -0800

    libpayload: Split EHCI bulk transfers on packet boundaries over qTDs
    
    EHCI controllers see transfers as a queue of transfer descriptors
    (qTDs), each of which can represent an aligned area of up to 20KB. Each
    qTD is processed separately, which means that a single USB packet cannot
    span multiple qTDs.
    
    While this should not be a problem according to the specification, some
    USB storage devices seem to get confused when a packet in the middle of
    a transfer is smaller than the maximum packet size (512 bytes) due to
    falling on a qTD boundary. This patch aligns the total transfer length
    per qTD to 512 bytes to avoid that problem (any excess bytes will simply
    roll over to the next qTD).
    
    Change-Id: I0b5db07507699a3861b30c1a5ee774c45dda7fdd
    Signed-off-by: Julius Werner <jwerner at chromium.org>
    Reviewed-on: http://review.coreboot.org/2651
    Tested-by: build bot (Jenkins)
    Reviewed-by: Patrick Georgi <patrick at georgi-clan.de>
    Reviewed-by: Paul Menzel <paulepanter at users.sourceforge.net>
    Reviewed-by: Ronald G. Minnich <rminnich at gmail.com>

Reviewed-By: Patrick Georgi <patrick at georgi-clan.de> at Tue Mar 12 10:20:11 2013, giving +1
Build-Tested: build bot (Jenkins) at Tue Mar 12 03:59:50 2013, giving +1
Reviewed-By: Ronald G. Minnich <rminnich at gmail.com> at Wed Mar 13 23:08:10 2013, giving +2
See http://review.coreboot.org/2651 for details.

-gerrit



More information about the coreboot mailing list