UPSTREAM: usb: dwc3: increase maximum number of TRBs per endpoint
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 10 Mar 2016 12:40:31 +0000 (14:40 +0200)
committerHuang, Tao <huangtao@rock-chips.com>
Tue, 16 Aug 2016 12:48:19 +0000 (20:48 +0800)
previously we were using a maximum of 32 TRBs per
endpoint. With each TRB being 16 bytes long, we were
using 512 bytes of memory for each endpoint.

However, SLAB/SLUB will always allocate PAGE_SIZE
chunks. In order to better utilize the memory we
allocate and to allow deeper queues for gadgets
which would benefit from it (g_ether comes to mind),
let's increase the maximum to 256 TRBs which rounds
up to 4096 bytes for each endpoint.

Change-Id: I2591378bfa8e9c98804d52a1862509c91c4b00f5
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Wu Liang feng <wulf@rock-chips.com>
(cherry picked from commit 8495036e986bdc7e82523d47097e7833d2782ff9)

drivers/usb/dwc3/core.h

index dc653676927621cd420460713b3cbfc6efa62c5d..c74310c7981e35f1ebac2df67ac5662c7c3dc1ac 100644 (file)
@@ -436,7 +436,7 @@ struct dwc3_event_buffer {
 #define DWC3_EP_DIRECTION_TX   true
 #define DWC3_EP_DIRECTION_RX   false
 
-#define DWC3_TRB_NUM           32
+#define DWC3_TRB_NUM           256
 #define DWC3_TRB_MASK          (DWC3_TRB_NUM - 1)
 
 /**