opnsense-src/sys/dev/usb/controller
Hans Petter Selasky a529288d65 Optimise the DWC OTG host mode driver's transmit path:
1) Use the TX FIFO empty interrupts to poll the transmit FIFO usage,
instead of using own software counters and waiting for SOF
interrupts. Assume that enough FIFO space is available to execute one
USB OUT transfer of any kind when the TX FIFO is empty.

2) Use the host channel halted event to asynchronously wait for host
channels to be disabled instead of waiting for SOF interrupts. This
results in less turnaround time for re-using host channels and at the
same time increases the performance.

The network transmit performance measured by "iperf" for the "RPi-B v1
2011/12" board, increased from 45MBit/s to 65Mbit/s after applying the
changes above.

No regressions seen using:
 - High Speed (BULK, CONTROL, INTERRUPT)
 - Full Speed (All transfer types)
 - Low Speed (Control and Interrupt)

MFC after:	1 month
Submitted by:	Daisuke Aoyama <aoyama@peach.ne.jp>
2015-07-16 16:08:40 +00:00
..
at91dci.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
at91dci.h - Implement fast interrupt handler to save CPU usage. 2014-08-05 18:48:12 +00:00
at91dci_atmelarm.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
at91dci_fdt.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
atmegadci.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
atmegadci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
atmegadci_atmelarm.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
avr32dci.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
avr32dci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
dwc_otg.c Optimise the DWC OTG host mode driver's transmit path: 2015-07-16 16:08:40 +00:00
dwc_otg.h Optimise the DWC OTG host mode driver's transmit path: 2015-07-16 16:08:40 +00:00
dwc_otg_fdt.c Add support for enabling the USB on the Raspberry Pi boards when it hasn't 2015-03-08 13:52:07 +00:00
dwc_otg_fdt.h Add support for enabling the USB on the Raspberry Pi boards when it hasn't 2015-03-08 13:52:07 +00:00
dwc_otgreg.h Optimise the DWC OTG host mode driver's transmit path: 2015-07-16 16:08:40 +00:00
ehci.c Remove unused defines. 2014-08-05 08:24:41 +00:00
ehci.h Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this 2013-11-30 22:17:27 +00:00
ehci_fsl.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ehci_imx.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ehci_ixp4xx.c Revise the arm bus_space implementation to avoid dereferencing the tag on 2015-01-21 01:06:08 +00:00
ehci_mv.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ehci_pci.c Modify the return value of the uhci/ehci/xhci PCI probe routines to 2015-04-13 19:13:51 +00:00
ehcireg.h The EHCI_CAPLENGTH and EHCI_HCIVERSION registers are actually sub-registers 2010-10-25 15:51:43 +00:00
musb_otg.c Handle VBUS error interrupts. 2015-02-16 15:34:10 +00:00
musb_otg.h - Verify that we don't load more data into a FIFO than it is 2014-06-05 18:23:51 +00:00
musb_otg_atmelarm.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ohci.c Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
ohci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ohci_atmelarm.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ohci_fdt.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ohci_pci.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ohci_s3c24x0.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
ohcireg.h
saf1761_otg.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
saf1761_otg.h Workaround for possible bug in the SAF1761 chip. Wait 125us before 2014-12-03 21:48:30 +00:00
saf1761_otg_boot.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
saf1761_otg_fdt.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
saf1761_otg_reg.h Use correct length mask for split transactions. The hardware would 2014-11-22 08:47:04 +00:00
uhci.c Try to resolve infinite interrupts by clearing an undocumented 2015-02-17 07:52:50 +00:00
uhci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
uhci_pci.c Modify the return value of the uhci/ehci/xhci PCI probe routines to 2015-04-13 19:13:51 +00:00
uhcireg.h
usb_controller.c Resolve a special case deadlock: When two or more threads are 2015-01-13 16:37:43 +00:00
uss820dci.c Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can 2015-01-05 15:04:17 +00:00
uss820dci.h - Implement fast interrupt handler to save CPU usage. 2014-08-05 06:33:59 +00:00
uss820dci_atmelarm.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
xhci.c Add quirk to disable 64-bit XHCI DMA after r276717. 2015-03-02 20:42:06 +00:00
xhci.h Add quirk to disable 64-bit XHCI DMA after r276717. 2015-03-02 20:42:06 +00:00
xhci_pci.c Modify the return value of the uhci/ehci/xhci PCI probe routines to 2015-04-13 19:13:51 +00:00
xhcireg.h Improve support for Intel Lynx Point USB 3.0 controllers by masking 2014-07-07 05:17:16 +00:00