History log of /freebsd-9.3-release/sys/dev/usb/controller/xhci.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 266666 25-May-2014 hselasky

MFC r266541:

- Fix a bug where the TLBPC value was forced to being odd for IN
direction isochronous transfers.
- Remove setting of fields which does not belong to the respective
TRBs. These fields are currently set as zero and this is more a
cosmetic change.

Approved by: re


# 265079 29-Apr-2014 hselasky

MFC r265015:
Setting the IMOD value below 0x3F8 can cause IRQ lockups in the Intel
LynxPoint USB 3.0 controllers found in MacBookPro 2013's.


# 264337 11-Apr-2014 hselasky

MFC r264294:
Fix for infinite XHCI reset loops when the set address USB request fails.


# 262371 23-Feb-2014 hselasky

MFC r261872:
Fix minor logical error in the XHCI driver. Set correct SETUP packet
direction value.


# 261112 24-Jan-2014 hselasky

MFC r258545:
Comply to the XHCI specification. Certain input context fields should
always be zero.


# 261097 24-Jan-2014 hselasky

MFC r260388, r260535 and r260536:
Fix XHCI interrupt logic for "Intel Lynx Point" found in MBP2013.


# 260538 11-Jan-2014 hselasky

MFC r260184:
Minor correction for the XHCI reset logic.


# 259606 19-Dec-2013 hselasky

MFC r259248 and r259462:
Set chain bit correctly. This will fix some problems sending and
receiving Zero Length Packets, ZLPs. See comment in code for more
information.


# 259602 19-Dec-2013 hselasky

MFC r259023 and r259095:
Improve the XHCI command timeout recovery handling code.
Fix some typos while at it.


# 257107 25-Oct-2013 hselasky

MFC r256750:
Improve XHCI stability. When a command timeout happens, the command
should be aborted else the command queue can stop. Refer to section
"4.6.1.2" of the XHCI specification.


# 257040 24-Oct-2013 hselasky

MFC r241082:
Inherit USB mode from RootHUB port where the USB device is connected.
Only RootHUB ports can be dual mode. Disallow OTG ports on external HUBs.
This simplifies some checks in the USB controller drivers.


# 255965 01-Oct-2013 hselasky

MFC r255768:
Stability fixes for Intel LynxPoint XHCI controllers. Disable XHCI port
routing if we get certain errors. Poll for command completion upon
command timeouts. The XHCI error events might not generate interrupts.

PR: usb/181159


# 255609 16-Sep-2013 hselasky

MFC r255356:

Revert parts of r245132 and r245175. We don't need to write to the
IMAN register to clear the pending interrupt status bits. This patch
tries to solve problems seen on the MacBook Air, as reported by
Johannes Lundberg <johannes@brilliantservice.co.jp>


# 253665 26-Jul-2013 hselasky

MFC r253532:

Fix an XHCI regression:

The Block Event Interrupts, BEI, feature does not
work like expected with the Renesas XHCI chipsets.
Revert feature.

While at it correct the TD SIZE computation in
case of Zero Length Packet, ZLP, in the end of a
multi frame USB transfer.

PR: usb/180726
Approved by: re, hrs


# 251614 11-Jun-2013 hselasky

MFC r251249, r251251, r251252, r?\0242512, r251254 and r251515:
Correct XHCI DMA descriptor programming.
Correct maximum IRQ rate.


# 248085 09-Mar-2013 marius

MFC: r227309 (partial)

Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.

The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.


# 246395 06-Feb-2013 hselasky

MFC r246113 and r246126:
Add missing NULL pointer check.

Reported by: Lars Engels


# 245732 21-Jan-2013 hselasky

MFC r245132 and r245175:
Optimise the XHCI interrupt handling.
This patch will save CPU time when the XHCI interrupt is
shared with other devices.
Only check event rings when interrupt bits are set.
Otherwise would indicate hiding possible hardware fault(s).

Tested by: sos @
Submitted by: sos @


# 245731 21-Jan-2013 hselasky

MFC r243780:
- Add support for Etron EJ168 USB 3.0 Host Controllers.
This brand of controllers expects that the number of
contexts specified in the input slot context points
to an active endpoint context, else it refuses to
operate.

- Wrap one or two long lines.

Tested by: Markus Pfeiffer (DragonFlyBSD)


# 242775 08-Nov-2012 hselasky

MFC r240750, r241987 and r242126:
Add missing CTLFLAG_TUN flag to tunable sysctls in the USB stack.
Adjust timing parameters of FULL/LOW/HIGH speed USB enumeration
and make these timing parameters tunable. This patch will fix
enumeration with some USB devices.
Fix a typo.


# 242774 08-Nov-2012 hselasky

MFC r238551 and r239617:
Add support for Intel Panther/Lynx Point XHCI port routing.


# 235001 04-May-2012 hselasky

MFC r234803 and r234961:
Add support for Multi-TT mode of modern USB HUBs.
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.


# 235000 04-May-2012 hselasky

MFC r233774:
Fix compiler warnings, mostly signed issues,
when USB modules are compiled with WARNS=9.


# 230302 18-Jan-2012 hselasky

MFC r230032, r230050, r230090, r230091 and r228493.
- Various XHCI and USB 3.0 related issues.
- USB 3.0 HUBs should work after this change.


# 229096 31-Dec-2011 hselasky

MFC r229086, r228483 and r228640:
Implement better support for USB controller suspend and resume.
Fix some build issues in avr32dci.c


# 229084 31-Dec-2011 hselasky

MFC r227396, r227401, r227541, r227654 and r228493:
Relax XHCI timeouts which should fix enumeration issues.
Fix definition of XHCI port power bit.
Correct size of some USB 3.0 descriptor fields.

Reported by: Kohji Okuno, Jan Henrik Sylvester


# 226904 29-Oct-2011 hselasky

MFC r226803:
Fix suspend and resume of non-super-speed USB devices
in the generic XHCI driver. There appears to be some minor
logic missing for this feature to work.

Approved by: re (kib)


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 217374 13-Jan-2011 hselasky

- Add support for 64-byte contexts to XHCI driver.
- Remove some dead code.
- Fixed one instance of missing endian conversion.

Approved by: thompsa (mentor)


# 217265 11-Jan-2011 jhb

Remove unneeded includes of <sys/linker_set.h>. Other headers that use
it internally contain nested includes.

Reviewed by: bde


# 213379 03-Oct-2010 hselasky

Commit initial version of new XHCI driver which was written from
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)