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)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 14 Apr 2016 06:24:37 +0000 (09:24 +0300)
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.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/core.h

index 7cbe9e9..5e17c02 100644 (file)
@@ -438,7 +438,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)
 
 /**