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>
This commit is contained in:
Mayank Rana 2016-09-21 12:21:01 -07:00 committed by Gerrit - the friendly Code Review server
parent a80e267a8c
commit d3e24bc43d

View file

@ -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)) {