summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/ehci.h
Commit message (Collapse)AuthorAgeFilesLines
* MFC r258779,r258780,r258787,r258822:eadler2014-02-041-2/+2
| | | | | | | | | | | | | Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this shifts into the sign bit. Instead use (1U << 31) which gets the expected result. Similar to the (1 << 31) case it is not defined to do (2 << 30). This fix is not ideal as it assumes a 32 bit int, but does fix the issue for most cases. A similar change was made in OpenBSD.
* Allow using the embedded EHCI host controller in Freescale SoCsmarcel2012-11-031-0/+2
| | | | by adding the missing bits. See ehci_fsl.c for their use.
* Implement better support for USB controller suspend and resume.hselasky2011-12-141-5/+0
| | | | | | | | | | 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
* Revert most of r197682 (EHCI Hardware BUG workaround). Implementhselasky2010-10-141-0/+3
| | | | | | | | | | proper solution which is to not use the TERMINATE pointer, but rather link to a halted TD. The initial fix was due to a misunderstanding about how the EHCI hardware works. Thanks to Alan Stern for clearing this up. This patch can increase mass storage read performance significantly when the IRQ rate is less than 8000 IRQ/s. Approved by: thompsa (mentor)
* The NetBSD Foundation has granted permission to remove clause 3 and 4 fromjoel2010-03-031-7/+0
| | | | | | their software. Obtained from: NetBSD
* Disable the use of the IAAD usb doorbell on NVidia controllers as it can causethompsa2010-02-091-0/+1
| | | | | | the hardware to stall. Submitted by: Hans Petter Selasky
* Integrate lost interrupts patch from the old USB stack.thompsa2009-11-081-0/+2
| | | | | | | | | | | | | | | Some EHCI chips from VIA / ATI seem to trigger interrupts before writing back the qTD status, or miss signalling occasionally under heavy load. If the host machine is too fast, we can miss transaction completion - when we scan the active list the transaction still seems to be active. This generally exhibits itself as a umass stall that never recovers. We work around this behaviour by setting up this callback after any softintr that completes with transactions still pending, giving us another chance to check for completion after the writeback has taken place Submitted by: Alexander Nedotsuko MFC after: 3 days
* Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover forthompsa2009-10-151-133/+0
| | | | | | | | | all host controllers at the same time, we avoid problems where the BIOS will actually write to the USB registers of all the USB host controllers every time we handover one of them, and consequently reset the OS programmed values. Submitted by: avg Reviewed by: jhb
* s/usb2_/usb_/ on all typedefs for the USB stack.thompsa2009-05-291-3/+3
|
* s/usb2_/usb_/ on all C structs for the USB stack.thompsa2009-05-281-24/+24
|
* MFp4 //depot/projects/usb@160930thompsa2009-04-221-2/+0
| | | | | | | 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@159922thompsa2009-04-051-2/+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 @159430thompsa2009-03-201-1/+1
| | | | | | | | | | - Move tunable defines into usb_core.h and dependancy towards usb_defs.h - Leave hardcoded defines in "usb_defs.h". - Allow overriding all tunable defines. - Add more customisable typedefs. - Correct maximum device number. Submitted by: Hans Petter Selasky
* (re)merge r186415,186416 from the old usb stack;thompsa2009-03-071-0/+59
| | | | | | | | | | | | | | | o add Transaction Translator support (still missing ISOC xfers) o add EHCI_SCFLG_BIGEMMIO flag to force big-endian byte-select to be set in USBMODE o split reset work into new public routine ehci_reset so bus shim drivers can force big-endian byte-select before ehci_init o enable TT and big-endian MMIO o force a reset before ehci_init to get byte-select setup Also go back to using USB_EHCI_BIG_ENDIAN_DESC at compile time to enable the byteswapping and reduce diffs to the original commits. This fixes the new USB stack on the Cambria board.
* Move the new USB stack into its new home.thompsa2009-02-231-0/+532
OpenPOWER on IntegriCloud