u-boot-brain/drivers
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
..
bios_emulator kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
block ahci: Fix data abort on multiple scsi resets. 2014-04-02 15:44:40 -04:00
bootcount i2c, bootcount: add support for bootcounter on i2c devices 2014-02-20 06:46:56 +01:00
core dm: Add base driver model support 2014-03-04 12:15:29 -05:00
crypto drivers: crypto: ace_sha: add implementation of hardware based lib rand 2014-03-28 15:06:31 -04:00
ddr/fsl mpc85xx/t104x: Add deep sleep framework support 2014-04-22 17:58:49 -07:00
demo dm: Add a demonstration/example driver 2014-03-04 12:15:29 -05:00
dfu dfu: mmc: change offset base handling 2014-05-05 08:20:56 +02:00
dma
fpga sizes.h - consolidate for all architectures 2014-03-04 12:15:01 -05:00
gpio sandbox: Convert GPIOs to use driver model 2014-03-04 12:15:30 -05:00
hwmon kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
i2c drivers/i2c/fsl_i2c: modify i2c_read to handle multi-byte write 2014-04-29 07:10:58 +02:00
input cros_ec: Support systems with no EC interrupt 2014-03-17 20:05:46 -06:00
misc driver/fsl_ifc: Add a function to finalize CS0 address binding 2014-04-22 17:58:47 -07:00
mmc driver: Add support of image load for MMC & SPI in SPL 2014-04-22 17:58:50 -07:00
mtd driver: Add support of image load for MMC & SPI in SPL 2014-04-22 17:58:50 -07:00
net net: zynq: Fix sparse warnings in gem 2014-05-06 13:41:55 +02:00
pci Merge branch 'master' of git://git.denx.de/u-boot-arm into master 2014-04-04 11:35:30 +02:00
pcmcia powerpc: remove RPXClassic, RPXlite boards support 2014-04-18 10:42:30 -04:00
power Merge branch 'master' of git://git.denx.de/u-boot-arm 2014-03-05 12:51:26 +01:00
qe QE/U-QE: Add U-QE support 2014-04-22 17:58:47 -07:00
rtc kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
serial serial: zynq: Fix typo in suffix function name 2014-05-06 13:47:42 +02:00
sound sound: Move Samsung-specific code into its own file 2014-03-17 20:05:49 -06:00
spi Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-03-25 10:53:15 +01:00
tpm sandbox: tpm: Fix nvwrite command 2014-01-08 17:26:17 -07:00
twserial
usb usb: ci_udc: allow multiple buffer allocs per ep 2014-05-07 23:36:58 +02:00
video Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-03-25 10:53:15 +01:00
watchdog
Makefile drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00