usb: gadget: net2280: match interrupt endpoints to PIO endpoints and DMA to bulk
authorJussi Kivilinna <jussi.kivilinna@haltian.com>
Fri, 12 Aug 2016 14:29:35 +0000 (17:29 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 25 Aug 2016 09:13:10 +0000 (12:13 +0300)
commit17f6ed62b0dbe58ca9f527d87612de04ed2cce8b
tree6a4e7354d1e312250390eeb689a0b30be3af64b4
parent1de2ebfb8cd522ad7d0deae94ae47592f975e017
usb: gadget: net2280: match interrupt endpoints to PIO endpoints and DMA to bulk

With composite gadget (ACM + NCM), USB3380 to host TCP transfer
speed dropped to 150 Mbit/s compared to 900 Mbit/s with NCM
gadget. Problem seems to be that net2280/USB3380 has only four
DMA channels and those DMA channels are allocated to first HW
endpoints. Endpoint match function was mapping endpoint names
directly, so NCM did not get DMA for bulk endpoints.

This patch changed match_ep to prefer DMA enabled hw endpoints
for bulk usb endpoints and PIO for interrupt usb endpoints.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/udc/net2280.c