aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/controller/xhci_pci.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Add Cavium ThunderX xHCI controller PCI IDEd Maste2015-09-151-0/+3
| | | | | | | | | | | | There is an issue with interrupts at the moment, but it works with polling mode set (hw.usb.xhci.use_polling=1). Reviewed by: hselasky Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3665 Notes: svn path=/head/; revision=287825
* - Move the remainder of host controller capability registers reading fromMarius Strobl2015-07-271-18/+17
| | | | | | | | | | | | | | | xhci_start_controller() to xhci_init(). These values don't change at run- time so there's no point of acquiring them on every USB_HW_POWER_RESUME instead of only once during initialization. In r276717, reading the first couple of registers in question already had been moved as a prerequisite for the changes in that revision. - Identify ASMedia ASM1042A controllers. - Use NULL instead of 0 for pointers. MFC after: 3 days Notes: svn path=/head/; revision=285914
* Modify the return value of the uhci/ehci/xhci PCI probe routines toNeel Natu2015-04-131-1/+1
| | | | | | | | | | | | | | 'BUS_PROBE_DEFAULT'. This allows bhyve's 'ppt' driver to claim ownership of the device and pass it through to the guest. In the common case where there are no competing drivers for USB controllers this change is a no-op. Reviewed by: hselasky MFC after: 2 weeks Notes: svn path=/head/; revision=281499
* Add quirk for USB 3.0 controllers which don't support 64-bit DMA.Hans Petter Selasky2015-03-031-1/+12
| | | | | | | | MFC after: 3 days Submitted by: Gary Jennejohn <gljennjohn@gmail.com> Notes: svn path=/head/; revision=279563
* Add quirk to disable 64-bit XHCI DMA after r276717.Hans Petter Selasky2015-03-021-1/+1
| | | | | | | | Requested by: Gary Jennejohn <gljennjohn@gmail.com> MFC after: 3 days Notes: svn path=/head/; revision=279544
* Add 64-bit DMA support in the XHCI controller driver.Hans Petter Selasky2015-01-051-14/+12
| | | | | | | | | | - Fix some comments and whitespace while at it. MFC after: 1 month Submitted by: marius@ Notes: svn path=/head/; revision=276717
* Improve/fix interrupt allocation/setup/release:Marius Strobl2014-12-271-21/+24
| | | | | | | | | | | | | | | | | - Simplify MSI allocation to what is actually needed for a single one. - Release the MSI and the corresponding bus resource as appropriate when either the interrupt resource cannot be allocated or setting up the interrupt fails. - Error out when interrupt allocation or setup fails and polling is disabled. - Release the MSI after the corresponding bus resource so the former is not leaked on detach. - Remove a redundant softc member. MFC after: 3 days Notes: svn path=/head/; revision=276321
* Add port routing support for Wildcat Point.Hans Petter Selasky2014-12-081-0/+1
| | | | | | | | PR: 195793 MFC after: 1 week Notes: svn path=/head/; revision=275624
* Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.Alexander Motin2014-11-261-0/+2
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=275101
* Add the Intel BayTrail USB device which needs port routing for USB 3.0.Kevin Lo2014-10-211-0/+3
| | | | | | | | Tested on the BayTrail E3845 platform. Reviewed by: hselasky Notes: svn path=/head/; revision=273376
* Improve support for Intel Lynx Point USB 3.0 controllers by using theHans Petter Selasky2014-07-161-3/+6
| | | | | | | | | | | | USB 2.0 port mask in addition to the USB 3.0 port mask. The hardware does not always accept when writing -1U to the port switching registers. MFC after: 3 days Tested by: Huang Wen Hui <huanghwh@gmail.com> Notes: svn path=/head/; revision=268735
* Improve support for Intel Lynx Point USB 3.0 controllers by maskingHans Petter Selasky2014-07-071-0/+3
| | | | | | | | | | the port routing bits like done in Linux. MFC after: 1 week Tested by: Tur-Wei Chan <twchan@singnet.com.sg> Notes: svn path=/head/; revision=268354
* Setting the IMOD value below 0x3F8 can cause IRQ lockups in the IntelHans Petter Selasky2014-04-271-0/+1
| | | | | | | | | | LynxPoint USB 3.0 controllers found in MacBookPro 2013's. MFC after: 2 days Tested by: Huang Wen Hui <huanghwh@gmail.com> Notes: svn path=/head/; revision=265015
* Add new PCI ID for hardware which needs port routing for USB 3.0.Hans Petter Selasky2014-02-161-0/+2
| | | | | | | | | PR: usb/186811 MFC after: 1 week Submitted by: Philipp Maechler <philipp.maechler@mamo.li> Notes: svn path=/head/; revision=261981
* Stability fixes for Intel LynxPoint XHCI controllers. Disable XHCI portHans Petter Selasky2013-09-211-10/+30
| | | | | | | | | | | | | routing if we get certain errors. Poll for command completion upon command timeouts. The XHCI error events might not generate interrupts. MFC after: 1 week Reported by: Daniel Gerzo <danger@rulez.sk>, Antonis Anastasiadis <anastasiadis@datalive.gr> PR: usb/181159 Approved by: re (gjb) Notes: svn path=/head/; revision=255768
* Add a tunable to force disable MSI use for xhci(4).Konstantin Belousov2013-07-161-7/+12
| | | | | | | | | Requested and tested by: delphij Sponsored by: The FreeBSD Foundation MFC after: 3 days Notes: svn path=/head/; revision=253398
* Use MSI for xhci(4), if supported.Konstantin Belousov2013-07-091-6/+18
| | | | | | | | | | Reviewed by: jhb Tested by: dchagin Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=253094
* Add support for polling the XHCI interrupt handler whenHans Petter Selasky2013-06-071-15/+32
| | | | | | | | | | | | | the regular interrupt handler is not working properly or in case of MSI interrupts which are not yet supported. Remove interrupt setup code for FreeBSD versions older than 700031. MFC after: 1 week PR: usb/179342 Notes: svn path=/head/; revision=251499
* Add ID for ASMedia ASM1042 USB 3.0 controller.Alexander Motin2013-04-101-0/+3
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=249336
* Add tunable for XHCI port routing.Hans Petter Selasky2012-08-231-3/+3
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=239617
* For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USBAlexander Motin2012-07-171-0/+11
| | | | | | | | | capability and reroute USB 2.0 ports to the xHCI controller. Reviewed by: hselasky Notes: svn path=/head/; revision=238551
* Add IDs for some USB controllers I have around. Just a cosmetics.Alexander Motin2012-07-021-0/+13
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=238015
* Implement better support for USB controller suspend and resume.Hans Petter Selasky2011-12-141-49/+10
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=228483
* Rename device_delete_all_children() into device_delete_children().Hans Petter Selasky2011-11-221-1/+1
| | | | | | | | Suggested by: jhb @ and marius @ MFC after: 1 week Notes: svn path=/head/; revision=227849
* - There's no need to overwrite the default device method with the defaultMarius Strobl2011-11-221-3/+1
| | | | | | | | | | | | | one. Interestingly, these are actually the default for quite some time (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9) since r52045) but even recently added device drivers do this unnecessarily. Discussed with: jhb, marcel - While at it, use DEVMETHOD_END. Discussed with: jhb - Also while at it, use __FBSDID. Notes: svn path=/head/; revision=227843
* Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI and moved itRuslan Ermilov2011-05-171-1/+1
| | | | | | | | | | to <dev/pci/pcireg.h>. Reviewed by: hselasky MFC after: 3 days Notes: svn path=/head/; revision=222018
* Remove unneeded includes of <sys/linker_set.h>. Other headers that useJohn Baldwin2011-01-111-1/+0
| | | | | | | | | it internally contain nested includes. Reviewed by: bde Notes: svn path=/head/; revision=217265
* Commit initial version of new XHCI driver which was written fromHans Petter Selasky2010-10-031-0/+318
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) Notes: svn path=/head/; revision=213379