summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/xhci.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Add tunable for XHCI port routing.hselasky2012-08-231-2/+15
| | | | MFC after: 1 week
* Add support for the so-called streams feature of BULK endpointshselasky2012-08-121-29/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add support for Multi-TT mode of modern USB HUBs.hselasky2012-04-291-13/+36
| | | | | | | | | | This will give you more bandwidth for isochronous FULL speed applications connected through a High Speed HUB. This patch has been tested with XHCI and EHCI. MFC after: 1 week
* Fix compiler warnings, mostly signed issues,hselasky2012-04-021-4/+3
| | | | | | when USB modules are compiled with WARNS=9. MFC after: 1 weeks
* Bugfix: Make sure the XHCI driver doesn't clearhselasky2012-01-131-1/+1
| | | | | | | the route string field. Else USB 3.0 HUBs won't work. MFC after: 5 days
* Correct use of USB 3.0 POWER bit in the port status register,hselasky2012-01-131-2/+7
| | | | | | | hence it was overlapping the USB 3.0 root HUB's speed bits. Reported by: Kohji Okuno MFC after: 1 week
* - Try to fix support for USB 3.0 HUBs.hselasky2012-01-121-8/+13
| | | | | | - Try to fix support for USB 3.0 suspend and resume. MFC after: 1 week
* Add missing change to XHCI driver similar to changes in r228483.hselasky2011-12-311-16/+20
| | | | MFC after: 0 days
* Make some XHCI command timeouts less strict.hselasky2011-11-181-9/+9
| | | | | Reported by: Jan Henrik Sylvester MFC after: 1 week
* Some brands of XHCI controllers needs more time to reset.hselasky2011-11-151-3/+3
| | | | | Reported by: Jan Henrik Sylvester MFC after: 1 week
* Fix size of USB 3.0 descriptor field.hselasky2011-11-091-1/+1
| | | | MFC after: 3 days
* Fix size of USB 3.0 descriptor field.hselasky2011-11-091-1/+2
| | | | MFC after: 3 days
* Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.ed2011-11-071-1/+1
| | | | | | The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
* Fix suspend and resume of FULL and HIGH speed USB deviceshselasky2011-10-261-1/+14
| | | | | | | in the generic XHCI driver. There appears to be some minor logic missing for this feature to work. MFC after: 3 days
* - Add support for 64-byte contexts to XHCI driver.hselasky2011-01-131-46/+102
| | | | | | | - Remove some dead code. - Fixed one instance of missing endian conversion. Approved by: thompsa (mentor)
* Remove unneeded includes of <sys/linker_set.h>. Other headers that usejhb2011-01-111-1/+0
| | | | | | it internally contain nested includes. Reviewed by: bde
* Commit initial version of new XHCI driver which was written fromhselasky2010-10-031-0/+3862
scratch. This driver adds support for USB3.0 devices. The XHCI interface is also backwards compatible to USB2.0 and USB1.0 and will evntually replace the OHCI/UHCI and EHCI drivers. There will be follow-up commits during the coming week to link the driver into the default kernel build and add missing USB3.0 functionality in the USB core. Currently only the driver files are committed. Approved by: thompsa (mentor)
OpenPOWER on IntegriCloud