diff options
author | hselasky <hselasky@FreeBSD.org> | 2015-07-28 07:30:07 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2015-07-28 07:30:07 +0000 |
commit | 8c9e4ed515459342b08d3cf313e7f84584f3375c (patch) | |
tree | 6afde489dc83c8ba653b8c5f2432f629e68409c6 /sys/dev/usb/controller/dwc_otg.h | |
parent | 45167e7aef77c4a883e69c3240cf66f6313bed84 (diff) | |
download | FreeBSD-src-8c9e4ed515459342b08d3cf313e7f84584f3375c.zip FreeBSD-src-8c9e4ed515459342b08d3cf313e7f84584f3375c.tar.gz |
Optimise the DWC OTG host mode driver's receive path:
Remove NAKing limit and pause IN and OUT transactions for 125us in
case of NAK response for BULK and CONTROL endpoints. This gets the
receive latency down and improves USB network throughput at the cost
of some CPU usage.
MFC after: 1 month
Diffstat (limited to 'sys/dev/usb/controller/dwc_otg.h')
-rw-r--r-- | sys/dev/usb/controller/dwc_otg.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/usb/controller/dwc_otg.h b/sys/dev/usb/controller/dwc_otg.h index 1ba0a5e..39c9529 100644 --- a/sys/dev/usb/controller/dwc_otg.h +++ b/sys/dev/usb/controller/dwc_otg.h @@ -37,7 +37,6 @@ #define DWC_OTG_TT_SLOT_MAX 8 #define DWC_OTG_SLOT_IDLE_MAX 3 #define DWC_OTG_SLOT_IDLE_MIN 2 -#define DWC_OTG_NAK_MAX 16 /* 16 NAKs = 2 ms */ #ifndef DWC_OTG_TX_MAX_FIFO_SIZE #define DWC_OTG_TX_MAX_FIFO_SIZE DWC_OTG_MAX_TXN #endif @@ -68,7 +67,6 @@ struct dwc_otg_td { uint8_t errcnt; uint8_t tmr_res; uint8_t tmr_val; - uint8_t did_nak; /* NAK counter */ uint8_t ep_no; uint8_t ep_type; uint8_t channel; @@ -93,6 +91,7 @@ struct dwc_otg_td { uint8_t set_toggle:1; uint8_t got_short:1; uint8_t tt_scheduled:1; + uint8_t did_nak:1; }; struct dwc_otg_tt_info { |