summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMayank Rana <mrana@codeaurora.org>2016-09-21 12:21:01 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-12-12 02:52:09 -0800
commitd3e24bc43dc837883d3de71cf243b9bfc27373bb (patch)
tree6b39ca1adadd37bcde4d9d447bb05d932dd099aa /drivers
parenta80e267a8c0d61790c3d1d5f7181ebd1be39c438 (diff)
dwc3: gadget: Increase TXFIFO size as 3KB with endless USB IN endpoint
Current code is resizing each USB IN endpoint's TXFIFO to 1KB if it is not USB GSI endpoint or bursting is not enable. In some high throughput test case where there is contention in terms of accessing DDR memory through SNOC between USB3 and other peripheral PCIE, there are many underrun errors (i.e. Bad Data Length/Bad CRC) observed. These errors results into retransmision of USB packets and sometime dropping packets causing diffrent kind of data stalls. Hence fix this issue by increasing TXFIFO size as 3KB with endless USB IN endpoint (i.e. USB BAM2BAM endpoint) which helps to successfully retransmit packets. Change-Id: I73860a7bb252a0226b591a5f732e6a7b864911cf Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/dwc3/gadget.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 2450cc52fa24..b6442fad550a 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -213,7 +213,8 @@ int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc)
* use mult as 3 for GSI IN endpoint always irrespective
* USB speed.
*/
- if (dep->endpoint.ep_type == EP_TYPE_GSI)
+ if (dep->endpoint.ep_type == EP_TYPE_GSI ||
+ dep->endpoint.endless)
mult = 3;
if (!(dep->flags & DWC3_EP_ENABLED)) {