usb: dwc3: decrease event buffer size
authorFelipe Balbi <balbi@ti.com>
Fri, 7 Dec 2012 19:42:03 +0000 (21:42 +0200)
committerFelipe Balbi <balbi@ti.com>
Fri, 18 Jan 2013 08:11:32 +0000 (10:11 +0200)
Currently we're allocating an entire page to
serve as our event buffer. Provided our events
are 4 bytes long, it's very unlikely we will
even trigger 1k events at once.

Even in the worst case scenario where every
endpoint triggers one event and we still have
a couple of error events, that would still
be less than 40 events.

In order to cope with future versions of the
IP which could (or could not) increase the
amount of possible events to trigger
simultaneously, we're using an arbitrary size
of 64 events for our event buffer.

We're saving 3840 bytes by doing so.

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

index 49995634426290c116c06f4ec37ee5496d933f40..5f79d9f5100048e10c14b81a5ad8c27c13e31a84 100644 (file)
@@ -55,7 +55,9 @@
 #define DWC3_ENDPOINTS_NUM     32
 #define DWC3_XHCI_RESOURCES_NUM        2
 
-#define DWC3_EVENT_BUFFERS_SIZE        PAGE_SIZE
+#define DWC3_EVENT_SIZE                4       /* bytes */
+#define DWC3_EVENT_MAX_NUM     64      /* 2 events/endpoint */
+#define DWC3_EVENT_BUFFERS_SIZE        (DWC3_EVENT_SIZE * DWC3_EVENT_MAX_NUM)
 #define DWC3_EVENT_TYPE_MASK   0xfe
 
 #define DWC3_EVENT_TYPE_DEV    0