summaryrefslogtreecommitdiff
path: root/payloads/libpayload/arch
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2013-06-12 16:06:08 +0200
committerPatrick Georgi <pgeorgi@google.com>2019-09-18 12:58:50 +0000
commite79595def5023527c043479a30e0755efc95d703 (patch)
tree0575766f432db457249c1cd3657c229dadb2f4a3 /payloads/libpayload/arch
parent0f21de842342b3108f8680834cdbcf2c43337958 (diff)
downloadcoreboot-e79595def5023527c043479a30e0755efc95d703.tar.xz
libpayload: Use interrupt transfers for USB hubs
In interactive payloads, the USB stack's poll procedure is implicitly called from the UI loop. Since all USB control transfers are handled synchronously, polling hubs with these slows the UI significantly down. So switch to interrupt transfers that are done asynchronously and only perform control transfers when the hub reported a status change. We use the interrupt endpoint's max packet size instead of the theo- retical transfer length of `(bNrPorts + 1) / 8` as Linux' code mentions hubs that return too much data. Change-Id: I5af02d63e4b8e1451b160b77f3611b93658a7a48 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/18499 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload/arch')
0 files changed, 0 insertions, 0 deletions