aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/usb_hub.h
Commit message (Collapse)AuthorAgeFilesLines
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* Resolve a deadlock setting the USB configuration index from userspaceHans Petter Selasky2014-06-081-0/+1
| | | | | | | | | | | | | on USB HUBs by moving the code into the USB explore threads. The deadlock happens because child devices of the USB HUB don't have the expected reference count when called from outside the explore thread. Only the HUB device itself, which the IOCTL interface locks, gets the correct reference count. MFC after: 3 days Notes: svn path=/head/; revision=267240
* Implement better error recovery for Transaction Translators, TTs,Hans Petter Selasky2014-01-131-0/+6
| | | | | | | | | | | | | found in High Speed USB HUBs which translate from High Speed USB into FULL or LOW speed USB. In some rare cases SPLIT transactions might get lost, which might leave the TT in an unknown state. Whenever we detect such an error try to issue either a clear TT buffer request, or if that is not possible reset the whole TT. MFC after: 1 week Notes: svn path=/head/; revision=260589
* - Add more defines to limit USB memory usage and number of allocationsHans Petter Selasky2013-05-031-0/+4
| | | | | | | | | | | in reduced memory systems. - Split allocation and freeing of the configuration descriptor into a separate function, so that the configuration descriptor can be made fixed size to save memory allocations. This applies for both device and host mode. Notes: svn path=/head/; revision=250207
* Add support for Multi-TT mode of modern USB HUBs.Hans Petter Selasky2012-04-291-14/+0
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=234803
* This commit adds full support for USB 3.0 devices in host and deviceHans Petter Selasky2010-10-041-0/+1
| | | | | | | | | | | | | | | | | | | 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) Notes: svn path=/head/; revision=213435
* Improve High Speed slot allocation mechanism by moving the computation to theAndrew Thompson2009-11-221-2/+2
| | | | | | | | | endpoint rather than per xfer and provide functions around get/free of resources. Submitted by: Hans Petter Selasky Notes: svn path=/head/; revision=199672
* Fix _USB2_* refernces in the header protection defines.Andrew Thompson2009-06-151-3/+3
| | | | Notes: svn path=/head/; revision=194230
* s/usb2_/usb_|usbd_/ on all function names for the USB stack.Andrew Thompson2009-06-151-8/+8
| | | | Notes: svn path=/head/; revision=194228
* Revert the size_t part of the last commit for the moment, this blows up theAndrew Thompson2009-05-301-1/+1
| | | | | | | USB_ADD_BYTES macro. Notes: svn path=/head/; revision=193074
* s/usb2_/usb_/ on all typedefs for the USB stack.Andrew Thompson2009-05-291-2/+2
| | | | Notes: svn path=/head/; revision=193045
* s/usb2_/usb_/ on all C structs for the USB stack.Andrew Thompson2009-05-281-17/+17
| | | | Notes: svn path=/head/; revision=192984
* - rename usb2_mode to usb_mode [1]Andrew Thompson2009-05-211-2/+1
| | | | | | | | | - change variable types to use the enum Submitted by: Hans Petter Selasky [1] Notes: svn path=/head/; revision=192499
* Provide a better commit log for r190735, forced by making a whitespace change.Andrew Thompson2009-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 Notes: svn path=/head/; revision=190754
* MFp4 //depot/projects/usb@159922Andrew Thompson2009-04-051-0/+1
| | | | | | | | | | 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 Notes: svn path=/head/; revision=190735
* MFp4 //depot/projects/usb@159909Andrew Thompson2009-04-051-0/+2
| | | | | | | | | | | | | | | | - make usb2_power_mask_t 16-bit - remove "usb2_config_sub" structure from "usb2_config". To compensate for this "usb2_config" has a new field called "usb_mode" which select for which mode the current xfer entry is active. Options are: a) Device mode only b) Host mode only (default-by-zero) c) Both modes. This change was scripted using the following sed script: "s/\.mh\././g". - the standard packet size table in "usb_transfer.c" is now a function, hence the code for the function uses less memory than the table itself. Submitted by: Hans Petter Selasky Notes: svn path=/head/; revision=190734
* MFp4 //depot/projects/usb @159431,159437,159438Andrew Thompson2009-03-201-1/+1
| | | | | | | | | | - start using the new USB typedefs in the USB core - Remove usage of USB_ADD_BYTES() Submitted by: Hans Petter Selasky Notes: svn path=/head/; revision=190181
* Move the new USB stack into its new home.Andrew Thompson2009-02-231-0/+80
Notes: svn path=/head/; revision=188942