u-boot/drivers/usb/gadget
Stephen Warren 2813006fec usb: ci_udc: allow multiple buffer allocs per ep
Modify ci_ep_alloc_request() to return a dynamically allocated request
object, rather than a singleton that's part of the endpoint. This
requires moving various state from the endpoint structure to the request
structure, since we need one copy per request.

The "fast bounce buffer" b_fast is removed by this change rather than
moved to the request object. Instead, we enhance the bounce buffer logic
in ci_bounce()/ci_debounce() to keep the bounce buffer around between
request submissions. This avoids the need to allocate an arbitrarily-
sized bounce buffer up-front, yet avoids incurring the allocation
overhead each time a request is submitted.

A future enhancement would be to actually submit multiple requests to HW
at once. The Linux driver shows that this is possible. That might improve
throughput (depending on the USB protocol in use), since USB could be
performing a transfer to one HW buffer in parallel with whatever SW
actions U-Boot performs on another buffer. However, I have not made this
change as part of this patch, in order to keep SW changes related to
buffer management separate from any change in the way the HW is
programmed.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2014-05-07 23:36:58 +02:00
..
atmel_usba_udc.c USB: gadget: atmel: disconnect before unbind 2013-09-24 17:51:36 +02:00
atmel_usba_udc.h USB: gadget: add atmel usba udc driver 2013-09-24 17:51:35 +02:00
ci_udc.c usb: ci_udc: allow multiple buffer allocs per ep 2014-05-07 23:36:58 +02:00
ci_udc.h usb: ci_udc: allow multiple buffer allocs per ep 2014-05-07 23:36:58 +02:00
composite.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
config.c usb: gadget: config: fix unaligned access issues 2013-09-24 17:51:35 +02:00
core.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
designware_udc.c usb: udc: add udc.h include file 2013-10-20 23:46:38 +02:00
ep0.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ep0.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
epautoconf.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ether.c usb: gadget: ether: return error from rx_submit if no request 2013-10-20 23:42:39 +02:00
f_dfu.c USB: gadget: added a saner gadget downloader registration API 2014-05-05 08:21:47 +02:00
f_dfu.h usb: dfu: f_dfu: Provide infrastructure to adjust DFU's Poll Timeout value 2013-12-18 19:53:19 +01:00
f_mass_storage.c USB: gadget: added a saner gadget downloader registration API 2014-05-05 08:21:47 +02:00
f_thor.c USB: gadget: added a saner gadget downloader registration API 2014-05-05 08:21:47 +02:00
f_thor.h sizes.h - consolidate for all architectures 2014-03-04 12:15:01 -05:00
fotg210.c usb: gadget: fotg210: EP0 fifo empty indication is non-reliable 2014-01-13 12:15:13 +01:00
g_dnl.c USB: gadget: save driver name before registering it 2014-05-05 08:33:13 +02:00
gadget_chips.h usb: mv_udc: Rename to ci_udc 2014-02-06 04:48:15 +01:00
Makefile usb: gadget: allow ci_udc to build with new gadget framework 2014-05-01 12:44:24 +02:00
mpc8xx_udc.c usb: udc: add udc.h include file 2013-10-20 23:46:38 +02:00
ndis.h USB: Add USB RNDIS gadget protocol 2011-02-19 20:32:37 +01:00
omap1510_udc.c usb: udc: add udc.h include file 2013-10-20 23:46:38 +02:00
pxa25x_udc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pxa25x_udc.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pxa27x_udc.c usb: udc: add udc.h include file 2013-10-20 23:46:38 +02:00
regs-otg.h driver:usb:s3c_udc: add support for Exynos4x12 2013-12-02 11:22:32 +09:00
rndis.c Coding Style cleanup: remove trailing empty lines 2011-03-27 21:48:08 +02:00
rndis.h USB-RNDIS: Send RNDIS state on disconnecting 2011-02-19 20:32:38 +01:00
s3c_udc_otg.c usb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver 2014-02-06 02:22:45 +01:00
s3c_udc_otg_xfer_dma.c usb:udc:samsung: Zero copy approach for data passed to Samsung's UDC driver 2014-02-06 02:22:45 +01:00
storage_common.c usb: ums: use only 1 buffer for CI_UDC 2014-04-30 10:30:58 +02:00
usbstring.c usb: handle NULL table in usb_gadget_get_string 2014-04-30 10:30:57 +02:00