summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_controller.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve the XHCI command timeout recovery handling code.hselasky2013-12-061-0/+1
| | | | MFC after: 1 week
* - Move scratch data from the USB bus structure to the USB device structurehselasky2013-02-101-45/+0
| | | | | | | | | | so that simultaneous access cannot happen. Protect scratch area using the enumeration lock. Also reduce stack usage in usbd_transfer_setup() by moving some big stack members to the scratch area. This saves around 200 bytes of stack. - Fix a whitespace. MFC after: 1 week
* Add support for the so-called streams feature of BULK endpointshselasky2012-08-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+3
| | | | | | | | | | 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
* Implement better support for USB controller suspend and resume.hselasky2011-12-141-1/+13
| | | | | | | | | | This patch should remove the need for kldunload of USB controller drivers at suspend and kldload of USB controller drivers at resume. This patch also fixes some build issues in avr32dci.c MFC after: 2 weeks
* Removes a unused function `usb_bus_find'.weongyo2010-11-251-1/+0
|
* Adds a USB packet filter feature to the stack that it could captureweongyo2010-11-221-0/+1
| | | | | | | | | packets which go through each USB host controllers. Its implementations are almost based on BPF code and very similar with it except it's little bit customized for USB packet only. The userland program usbdump(8) would be committed soon. Discussed with: hps, thompsa, yongari
* This commit adds full support for USB 3.0 devices in host and devicehselasky2010-10-041-0/+25
| | | | | | | | | | | | | | | | mode in the USB core. The patch mostly consists of updating the USB HUB code to support USB 3.0 HUBs. This patch also add some more USB controller methods to support more active-alike USB controllers like the XHCI which needs to be informed about various device state events. USB 3.0 HUBs are not tested yet, due to lack of hardware, but are believed to work. After this update the initial device descriptor is only read twice when we know that the bMaxPacketSize is too small for a single packet transfer of this descriptor. Approved by: thompsa (mentor)
* Add support for power mode filtering as some USB hardware does not supportthompsa2010-09-021-0/+4
| | | | | | power saving. Submitted by: Hans Petter Selasky
* Change argument for usbd_get_dma_delay() from USB bus to USB device, somethompsa2010-09-021-1/+1
| | | | | | | embedded hardware needs to know exactly which device is in question before it exactly can decide the required delay. Submitted by: Hans Petter Selasky
* USB CORE:alfred2009-07-301-0/+3
| | | | | | | | | | | - Add minimum polling support to drive UMASS and UKBD in case of panic. - Add extra check to ukbd probe to fix problem about mouse devices attaching like keyboards. - P4 ID: 166148 Submitted by: hps Approved by: re
* Sync to p4thompsa2009-06-271-1/+1
| | | | | | | | | - Add support for devices that handle set and clear stall in hardware. - Add missing get timestamp function - Add more xfer flags Submitted by: Hans Petter Selasky Approved by: re (kib)
* - Make struct usb_xfer opaque so that drivers can not access the internalsthompsa2009-06-231-4/+4
| | | | - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
* Fix _USB2_* refernces in the header protection defines.thompsa2009-06-151-3/+3
|
* s/usb2_/usb_|usbd_/ on all function names for the USB stack.thompsa2009-06-151-6/+6
|
* Rename usb pipes to endpoints as it better represents what they are, and structthompsa2009-06-071-4/+5
| | | | usb_pipe may be used for a different purpose later on.
* Revert the size_t part of the last commit for the moment, this blows up thethompsa2009-05-301-2/+2
| | | | USB_ADD_BYTES macro.
* s/usb2_/usb_/ on all typedefs for the USB stack.thompsa2009-05-291-12/+12
|
* s/usb2_/usb_/ on all C structs for the USB stack.thompsa2009-05-281-39/+39
|
* Use enums for speed and rev data types.thompsa2009-05-211-1/+1
|
* MFp4 //depot/projects/usb@160930thompsa2009-04-221-10/+10
| | | | | | | Change the roothub exec functions to take the usb request and data pointers directly rather than placing them on the parent bus struct. Submitted by: Hans Petter Selasky
* Provide a better commit log for r190735, forced by making a whitespace change.thompsa2009-04-061-1/+1
| | | | | | | | | | | | Refactor how we interface with the root HUB. This is achieved by making a direct call from usb2_do_request to the host controller for root hub requests, this call will perform the controller specific register read/writes and return the error code. This cuts out a lot of code in the host controller files and saves one thread per USB bus. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159946thompsa2009-04-051-9/+4
| | | | | | | Some cancelable flags are always true. Substitute these away. These cancelable flags were mostly useful with the root HUB which is now handled differently. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@159922thompsa2009-04-051-1/+0
| | | | | | | Refactor how we interface with the root HUB. This cuts around 1200 lines of code totally and saves one thread per USB bus. Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb @159431,159437,159438thompsa2009-03-201-2/+2
| | | | | | | - start using the new USB typedefs in the USB core - Remove usage of USB_ADD_BYTES() Submitted by: Hans Petter Selasky
* MFp4 //depot/projects/usb@157853thompsa2009-02-241-1/+0
| | | | | | | Clean up old way of polling the USB hardware. The existing polling support was a bit hackish. Submitted by: Hans Petter Selasky
* Move the new USB stack into its new home.thompsa2009-02-231-0/+199
OpenPOWER on IntegriCloud