linux/drivers/usb/dwc2
Paul Zimmerman 5dce95554a usb: dwc2: handle DMA buffer unmapping sanely
The driver's handling of DMA buffers for non-aligned transfers
was kind of nuts. For IN transfers, it left the URB DMA buffer
mapped until the transfer completed, then synced it, copied the
data from the bounce buffer, then synced it again.

Instead of that, just call usb_hcd_unmap_urb_for_dma() to unmap
the buffer before starting the transfer. Then no syncing is
required when doing the copy. This should also allow handling of
other types of mappings besides just dma_map_single() ones.

Also reduce the size of the bounce buffer allocation for Isoc
endpoints to 3K, since that's the largest possible transfer size.

Tested on Raspberry Pi and Altera SOCFPGA.

Signed-off-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-19 16:17:58 -07:00
..
core_intr.c usb: dwc2: handle the Host Port Interrupt when it occurs in device mode 2014-02-07 14:34:38 -08:00
core.c usb: dwc2: clip max_transfer_size to 65535 2014-09-19 16:17:58 -07:00
core.h usb: dwc2/gadget: assign TX FIFO dynamically 2014-09-19 16:16:39 -07:00
gadget.c usb: dwc2/gadget: disable clock when it's not needed 2014-09-19 16:16:39 -07:00
hcd_ddma.c
hcd_intr.c usb: dwc2: handle DMA buffer unmapping sanely 2014-09-19 16:17:58 -07:00
hcd_queue.c usb: dwc2: handle DMA buffer unmapping sanely 2014-09-19 16:17:58 -07:00
hcd.c usb: dwc2: handle DMA buffer unmapping sanely 2014-09-19 16:17:58 -07:00
hcd.h usb: dwc2: handle DMA buffer unmapping sanely 2014-09-19 16:17:58 -07:00
hw.h usb: dwc2: add defines to support s3c-hsotg driver 2014-04-24 13:12:43 -07:00
Kconfig Revert "usb: dwc2: Update Kconfig to support dual-role" 2014-09-11 13:45:13 -07:00
Makefile Revert "usb: dwc2: Update Kconfig to support dual-role" 2014-09-11 13:45:13 -07:00
pci.c
platform.c Revert "usb: dwc2: move "samsung,s3c6400-hsotg" into common platform" 2014-09-11 13:48:43 -07:00