opnsense-src/sys/dev/usb/controller
Hans Petter Selasky a5cf1aaaff Add support for the so-called streams feature of BULK endpoints
in SUPER-speed mode, USB 3.0.

This feature has not been tested yet, due to lack of hardware.

This feature is useful when implementing protocols like UASP,
USB attached SCSI which promises higher USB mass storage throughput.

This patch also implements support for hardware processing of endpoints
for increased performance. The switching to hardware processing
of an endpoint is done via a callback to the USB controller driver. The
stream feature is implemented like a variant of a hardware USB protocol.

USB controller drivers implementing device mode needs to be updated to
implement the new "xfer_stall" USB controller method and remove the
"xfer" argument from the "set_stall" method.

The API's toward existing USB drivers are preserved. To setup a USB transfer
in stream mode, set the "stream_id" field of the USB config structure to
the desired value.

The maximum number of BULK streams is currently hardcoded and limited to 8
via a define in usb_freebsd.h.

All USB drivers should be re-compiled after this change.

LibUSB will be updated next week to support streams mode. A new IOCTL to
setup BULK streams as already been implemented. The ugen device nodes
currently only supports stream ID zero.

The FreeBSD version has been bumped.

MFC after:	2 weeks
2012-08-12 17:53:06 +00:00
..
at91dci.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
at91dci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
at91dci_atmelarm.c Make this compile again. Also note that it is AT91RM9200+KB9202B 2012-07-27 17:28:11 +00:00
atmegadci.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
atmegadci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
atmegadci_atmelarm.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
avr32dci.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
avr32dci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
dwc_otg.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
dwc_otg.h Fix for DWC OTG interrupt register programming. 2012-03-05 06:41:44 +00:00
dwc_otg_atmelarm.c Fix for DWC OTG interrupt register programming. 2012-03-05 06:41:44 +00:00
ehci.c Make sure the EHCI bandwidth allocation algorithm 2012-05-03 16:06:22 +00:00
ehci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ehci_fsl.c Import EHCI attachment driver for Freescale integrated controller. 2012-05-26 21:05:11 +00:00
ehci_ixp4xx.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ehci_mv.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ehci_pci.c Add IDs for some USB controllers I have around. Just a cosmetics. 2012-07-02 19:35:56 +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 Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
musb_otg.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
musb_otg_atmelarm.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ohci.c Fix compiler warnings, mostly signed issues, 2012-04-02 10:50:42 +00:00
ohci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ohci_atmelarm.c Minor style(9) nit. 2012-07-27 05:24:09 +00:00
ohci_pci.c Add IDs for some USB controllers I have around. Just a cosmetics. 2012-07-02 19:35:56 +00:00
ohci_s3c24x0.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
ohcireg.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 10:18:03 +00:00
uhci.c Fix compiler warnings, mostly signed issues, 2012-04-02 10:50:42 +00:00
uhci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
uhci_pci.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
uhcireg.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 10:18:03 +00:00
usb_controller.c Make sure that the USB system suspend event is executed synchronously 2012-03-03 08:11:04 +00:00
uss820dci.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
uss820dci.h Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
uss820dci_atmelarm.c Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
xhci.c Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
xhci.h Add support for the so-called streams feature of BULK endpoints 2012-08-12 17:53:06 +00:00
xhci_pci.c For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USB 2012-07-17 14:03:04 +00:00
xhcireg.h For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USB 2012-07-17 14:03:04 +00:00