Skip to content
Snippets Groups Projects
Commit 42d8fa89 authored by Austin Phillips's avatar Austin Phillips Committed by Tomas Vanek
Browse files

stlink_usb: Submit multiple USB URBs at once to improve performance


Commands to stlink devices are typically comprised of multiple
transactions with each transaction completing before moving to the next.
This change allows for multiple USB transactions to be issued at once
followed by a check that all transactions completed successfully.  This
improves performance on some machines where there is a large turn-around
time between USB transfers such as is seen on some virtual machines.

This change is only supported when compiled with libusb1 as libusb1
supports and asynchronous interface.

Multi-transaction queueing introduced in this change paves the way for
improving speed of other transactions in the future such as memory and
register reads where multiple USB transactions in succession are
required to complete a command.  Multiple USB transactions can be
submitted at once using jtag_libusb_bulk_transfer_n function.

Change-Id: I924e049217a789ef445b14e00aa1983576970fbf
Signed-off-by: default avatarAustin Phillips <austin_phillips@hotmail.com>
Reviewed-on: http://openocd.zylin.com/4484


Tested-by: jenkins
Reviewed-by: default avatarAndreas Bolsch <hyphen0break@gmail.com>
Reviewed-by: default avatarSpencer Oliver <spen@spen-soft.co.uk>
Reviewed-by: default avatarAntonio Borneo <borneo.antonio@gmail.com>
parent 3792f3c1
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment