summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/xhci_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* MFC r308464, r308471: Add some device IDs found in my new laptop.mav2016-11-161-0/+2
|
* MFC r307518:hselasky2016-11-071-6/+0
| | | | | | | | | | | | | | | | | | | | | Fix device delete child function. When detaching device trees parent devices must be detached prior to detaching its children. This is because parent devices can have pointers to the child devices in their softcs which are not invalidated by device_delete_child(). This can cause use after free issues and panic(). Device drivers implementing trees, must ensure its detach function detaches or deletes all its children before returning. While at it remove now redundant device_detach() calls before device_delete_child() and device_delete_children(), mostly in the USB controller drivers. Tested by: Jan Henrik Sylvester <me@janh.de> Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D8070
* MFC r281499:hselasky2016-09-081-1/+1
| | | | | | | | | | | Modify the return value of the uhci/ehci/xhci PCI probe routines to '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. PR: 212256
* MFC r298983: Add some device IDs from Intel Sunrise Point chipsets.mav2016-05-201-0/+2
|
* MFC r297387: Add some device IDs found on AMD FCH shipsets.mav2016-04-121-0/+3
|
* MFC r297049: Add IDs for Intel Wellsburg USB controllers.mav2016-03-281-0/+2
|
* MFC r285914, r289029 and r289560:hselasky2015-11-031-18/+21
| | | | | | | | | | | | | | - Move the remainder of host controller capability registers reading from 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. - Add quirks for USB 3.0 PCI devices. PR: 203650
* MFC r289030:kevlo2015-10-121-5/+10
| | | | | | | | | Add support for Fresco Logic USB 3.0 host controller. Fresco Logic hosts advertise MSI, but fail to actually generate MSI interrupts. We have to disable MSI use. Reviewed by: hselasky
* MFC r287355, r287772 and r287825:hselasky2015-10-081-0/+3
| | | | | | | | Add new USB PCI IDs. PR: 202807 Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> Differential Revision: https://reviews.freebsd.org/D3665
* MFC r279563:hselasky2015-03-061-1/+12
| | | | Add quirk for USB 3.0 controllers which don't support 64-bit DMA.
* MFC r279544:hselasky2015-03-051-1/+1
| | | | | | Add quirk to disable 64-bit XHCI DMA after r276717. Requested by: Gary Jennejohn <gljennjohn@gmail.com>
* MFC r266969 and r276717:hselasky2015-02-051-14/+12
| | | | | | Add 64-bit DMA support in the XHCI controller driver. - Fix some comments and whitespaces while at it. - Add support for PAE.
* MFC r271156 and r273376:hselasky2015-01-111-0/+3
| | | | | - Add IDs for Intel Patsburg USB 2.0 controller. - Add the Intel BayTrail USB device which needs port routing for USB 3.0.
* MFC r276321, r276404, r276407 and r276799:hselasky2015-01-111-21/+24
| | | | | | | | | | | | Various XHCI fixes and improvements: - Improve and fix MSI interrupt allocation, setup and release. - Add missed flushing of data which can happen when "xhci_configure_mask()" is called from "xhci_configure_reset_endpoint()". Ensure the 3-strikes error feature is always enabled except for ISOCHRONOUS transfers. - Allow systems having a page size greater than 4K to use fewer scatter-gather XHCI TRB entries for its payload data. The XHCI controller can handle at least 65536 bytes per scatter-gather list entry.
* MFC r275624:hselasky2014-12-151-0/+1
| | | | | | Add port routing support for Wildcat Point. PR: 195793
* MFC r275101:mav2014-12-031-0/+2
| | | | Add bunch of PCI IDs of Intel Wildcat Point (9 Series) chipsets.
* MFC r268735:hselasky2014-07-191-3/+6
| | | | | | | Improve support for Intel Lynx Point USB 3.0 controllers by using the 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 r268354:hselasky2014-07-141-0/+3
| | | | | Improve support for Intel Lynx Point USB 3.0 controllers by masking the port routing bits like done in Linux.
* MFC r265015:hselasky2014-04-291-0/+1
| | | | | Setting the IMOD value below 0x3F8 can cause IRQ lockups in the Intel LynxPoint USB 3.0 controllers found in MacBookPro 2013's.
* MFC r261981:hselasky2014-02-231-0/+2
| | | | | | Add new PCI ID for hardware which needs port routing for USB 3.0. PR: usb/186811
* Stability fixes for Intel LynxPoint XHCI controllers. Disable XHCI porthselasky2013-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)
* Add a tunable to force disable MSI use for xhci(4).kib2013-07-161-7/+12
| | | | | | Requested and tested by: delphij Sponsored by: The FreeBSD Foundation MFC after: 3 days
* Use MSI for xhci(4), if supported.kib2013-07-091-6/+18
| | | | | | | Reviewed by: jhb Tested by: dchagin Sponsored by: The FreeBSD Foundation MFC after: 1 week
* Add support for polling the XHCI interrupt handler whenhselasky2013-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
* Add ID for ASMedia ASM1042 USB 3.0 controller.mav2013-04-101-0/+3
| | | | MFC after: 1 week
* Add tunable for XHCI port routing.hselasky2012-08-231-3/+3
| | | | MFC after: 1 week
* For Intel Panther/Lynx Point USB 3.0 xHCI controllers enable SuperSpeed USBmav2012-07-171-0/+11
| | | | | | capability and reroute USB 2.0 ports to the xHCI controller. Reviewed by: hselasky
* Add IDs for some USB controllers I have around. Just a cosmetics.mav2012-07-021-0/+13
| | | | MFC after: 3 days
* Implement better support for USB controller suspend and resume.hselasky2011-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
* Rename device_delete_all_children() into device_delete_children().hselasky2011-11-221-1/+1
| | | | | Suggested by: jhb @ and marius @ MFC after: 1 week
* - There's no need to overwrite the default device method with the defaultmarius2011-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.
* Renamed PCI_INTERFACE_XHCI to PCIP_SERIALBUS_USB_XHCI and moved itru2011-05-171-1/+1
| | | | | | | to <dev/pci/pcireg.h>. Reviewed by: hselasky MFC after: 3 days
* 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/+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)
OpenPOWER on IntegriCloud