[U-Boot] [PATCH v4 3/7] usb_storage: Restore non-EHCI support

Benoît Thébaudeau
2012-08-10T16:26:50Z

The commit 5dd95cf made the MSC driver EHCI-specific. This patch restores a
basic support of non-EHCI HCDs, like before that commit.

The fallback transfer size is certainly not optimal, but at least it should work
like before.

Signed-off-by: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Ilya Yanok <ilya.yanok@cogentembedded.com>
Cc: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
Changes for v2: None.
Changes for v3:
- Patch swapped with the currently following one.
Changes for v4: None.

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

diff --git u-boot-usb-4f8254e.orig/common/usb_storage.c u-boot-usb-4f8254e/common/usb_storage.c
index bdc306f..0cd6399 100644
--- u-boot-usb-4f8254e.orig/common/usb_storage.c
+++ u-boot-usb-4f8254e/common/usb_storage.c
@@ -155,11 +155,15 @@ struct us_data {
trans_cmnd transport; /* transport routine */
};

+#ifdef CONFIG_USB_EHCI
/*
* The U-Boot EHCI driver cannot handle more than 5 page aligned buffers
* of 4096 bytes in a transfer without running itself out of qt_buffers
*/
#define USB_MAX_XFER_BLK(start, blksz) (((4096 * 5) - (start % 4096)) / blksz)
+#else
+#define USB_MAX_XFER_BLK(start, blksz) 20
+#endif

static struct us_data usb_stor[USB_MAX_STOR_DEV];