opnsense-src/sys/dev/usb/controller
Hans Petter Selasky 43ea03d756 Improve the realtime properties of USB transfers for embedded systems
like RPI-B and RPI-2.

Description of problem:
USB transfers can process data in their callbacks sometimes causing
unacceptable latency for other USB transfers. Separate BULK completion
callbacks from CONTROL, INTERRUPT and ISOCHRONOUS callbacks, and give
BULK completion callbacks lesser execution priority than the
others. This way USB audio won't be interfered by heavy USB ethernet
usage for example.

Further serve USB transfer completion in a round robin fashion,
instead of only serving the most CPU hungry. This has been done by
adding a third flag to USB transfer queue structure which keeps track
of looping callbacks. The "command" callback function then decides
what to do when looping.

MFC after:		2 weeks
2015-08-14 12:57:53 +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
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
dwc_otg.c Limit the number of times we loop inside the DWC OTG poll handler to 2015-07-31 09:12:31 +00:00
dwc_otg.h Optimise the DWC OTG host mode driver's receive path: 2015-07-28 07:30:07 +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
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
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
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 Improve the realtime properties of USB transfers for embedded systems 2015-08-14 12:57:53 +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 - Move the remainder of host controller capability registers reading from 2015-07-27 15:26:50 +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 - Move the remainder of host controller capability registers reading from 2015-07-27 15:26:50 +00:00
xhcireg.h Improve support for Intel Lynx Point USB 3.0 controllers by masking 2014-07-07 05:17:16 +00:00