[U-Boot] [PATCH] usb_storage: USB storage transfer size increase for xHCI

Sergey Temerkhanov
2015-08-13T19:00:04Z

Increase xHCI transfer size for USB storage devices. This helps to
achieve 10-20x speedup for large transfers

Signed-off-by: Sergey Temerkhanov <s.temerkhanov@gmail.com>
Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@cavium.com>
---

common/usb_storage.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/common/usb_storage.c b/common/usb_storage.c
index b978430..ee5acca 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -97,13 +97,15 @@ struct us_data {
trans_cmnd transport; /* transport routine */
};

-#ifdef CONFIG_USB_EHCI
+#if defined(CONFIG_USB_EHCI)
/*
* The U-Boot EHCI driver can handle any transfer length as long as there is
* enough free heap space left, but the SCSI READ(10) and WRITE(10) commands are
* limited to 65535 blocks.
*/
#define USB_MAX_XFER_BLK 65535
+#elif defined(CONFIG_USB_XHCI)
+#define USB_MAX_XFER_BLK 4096
#else
#define USB_MAX_XFER_BLK 20
#endif
--
2.2.0