| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix XHCI driver for devices which have more than 15 physical root HUB
ports. The current bitmap array was too small to hold more than 16
bits and would at some point toggle the context size, which then would
trigger an enumeration fault and cause a fallback to the EHCI
companion controller, if any.
- Make sure we always set the maximum number of valid contexts.
- Set default cycle state in case of early interrupts.
Approved by: re, marius
|
|
|
|
|
|
|
| |
Some XHCI hardware requires dropping the endpoint context before
adding it again.
Approved by: re, glebius
|
|
|
|
| |
Rename driver name a bit to avoid unit number confusion in dmesg.
|
|
|
|
|
|
|
|
| |
- Implement fast interrupt handler to save CPU usage.
- Cleanup some register reads and writes to use existing register
access macros.
- Ensure code which only applies to the control endpoint is not run
for other endpoints in the data transfer path.
|
|
|
|
| |
Add description of two EHCI PCI IDs.
|
|
|
|
|
| |
Split the XHCI TRB allocations into smaller parts, so that we don't
end up allocating contiguous busdma buffers above PAGE_SIZE bytes.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Improve support for Intel Lynx Point USB 3.0 controllers by masking
the port routing bits like done in Linux.
|
|
|
|
|
|
|
|
|
| |
Avoid the USB device disconnected and controller shutdown clutter on system
shutdown by putting the former under !rebooting and turning the latter into
debug messages.
Reviewed by: hps
Sponsored by: Bally Wulff Games & Entertainment GmbH
|
|
|
|
|
|
|
|
|
| |
Resolve a deadlock setting the USB configuration index from userspace
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.
|
|
|
|
| |
Make WITNESS happy by giving USB mutexes different names.
|
|
|
|
|
|
|
| |
Multiple fixes for FULL and LOW speed USB transfers going through
the DWC OTG as split transactions. INTERRUPT transfers should have
a higher chance of success after this series of patches and the
chance of data loss should be reduced.
|
|
|
|
|
| |
Add some more spinlocks to protect the state of the USB transfer
queue. Rename some functions to indicate locking requirements.
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
|
|
|
|
| |
r265806, r265872, r266012 and r266394:
- Multiple DWC OTG host mode related fixes, improvements and optimisations.
- Add full support for ISOCHRONOUS transfers to the DWC OTG driver.
- Use the interrupt filter to handle basic USB FIFO interrupts.
- Fixed unbalanced unlock in case of "dwc_otg_init_fifo()" failure.
- Add common spinlock to the USB bus structure.
|
|
|
|
|
|
| |
Stop calling imx51_ccm_foo() clock functions from imx6 code. Instead
define a few imx_ccm_foo() functions that are implemented by the imx51
or imx6 ccm code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r262606
Initial import of Linux/Vendor DTS files for various embedded boards.
Initial import of DTS files from Linux
Correct initial import script
New AT91 devices or fdt probe added to existing devices. Some of these
are just stubs for testing the new dts.
- nand
- SDRAMC
- shdwc
- tcb
- usb host and gadget
|
|
|
|
|
|
|
|
| |
Remove FreeBSD 6 support from atmel usb controllers.
Add Vybrid drivers for:
- Enhanced Direct Memory Access Controller (eDMA)
- Direct Memory Access Multiplexer (DMAMUX)
|
|
|
|
|
| |
Follow r261352 by updating all drivers which are children of simplebus
to check the status property in their probe routines.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add configuration for the Freescale i.MX53 Quick Start Board.
Add the Raspberry Pi BSC (I2C compliant) controller driver.
Add Radxa Rock board (by radxa.com) support.
Digi-CCWMX53: enable ffec and uart, USB.
Add support for Freescale Vybrid Family VF600
Move and rename dwc otg driver to more generic one as it appears to work
for rk3188 SoC based board too.
|
|
|
|
|
| |
Setting the IMOD value below 0x3F8 can cause IRQ lockups in the Intel
LynxPoint USB 3.0 controllers found in MacBookPro 2013's.
|
|
|
|
| |
Correct IMOD default value according to comment.
|
|
|
|
| |
Fix for infinite XHCI reset loops when the set address USB request fails.
|
|
|
|
|
|
|
|
|
| |
In sys/dev/usb/controller/uss820dci.c, similar to r261977, fix a warning
about uss820dci_odevd being unused, by adding it to the part that
handles getting descriptors.
Reported by: loos
Reviewed by: hselasky
|
|
|
|
|
| |
Fix minor logical error in the XHCI driver. Set correct SETUP packet
direction value.
|
|
|
|
|
|
| |
Add new PCI ID for hardware which needs port routing for USB 3.0.
PR: usb/186811
|
|
|
|
|
|
|
| |
Issue doorbell twice before finally freeing the DMA descriptors. This
should fix DMA descriptor caching issues seen with the EHCI controller
found in Google Chromebook C720 during removal and insertion of USB
devices.
|
|
|
|
|
|
|
| |
In sys/dev/usb/controller/musb_otg.c, fix a warning about musbotg_odevd
being unused, by adding it to the part that handles getting descriptors.
Reviewed by: hselasky
|
|
|
|
| |
Adjust the DMA delay logic so that the DMA delay does not become too small.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Comply to the XHCI specification. Certain input context fields should
always be zero.
|
|
|
|
|
|
|
|
|
|
| |
- Separate I/O errors from reception of STALL PID.
- Implement better error recovery for Transaction Translators, TTs,
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.
|
|
|
|
|
| |
Make sure reserved fields of the EHCI DMA descriptors are not dirty
after previous transfers.
|
|
|
|
| |
Fix XHCI interrupt logic for "Intel Lynx Point" found in MBP2013.
|
|
|
|
| |
Minor correction for the XHCI reset logic.
|
|
|
|
| |
Add some more IDs for Intel ATA, AHCI and USB controllers.
|
|
|
|
|
|
| |
Set chain bit correctly. This will fix some problems sending and
receiving Zero Length Packets, ZLPs. See comment in code for more
information.
|
|
|
|
|
| |
Improve the XHCI command timeout recovery handling code.
Fix some typos while at it.
|
|
|
|
|
|
|
|
|
|
|
| |
Rework the imx ehci driver so that it's four separate ehci units rather
than one unit with four busses attached to it. This allows us to use
existing fdt data which describes separate devices with separate resources.
It also allows any combination of the units to be en/disabled in the
board dts files.
Adjust our dts code to match what's used by linux and u-boot now that
we're structured to do so.
|
|
|
|
|
|
|
|
| |
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.
Approved by: re (glebius)
|
|
|
|
|
|
|
|
|
| |
Correct programming of XXX_MAXP register. This register is 16-bit wide
and not 8-bit. Fix support for isochronous transfers in USB host mode.
Fix a whitespace while at it.
PR: usb/181987
Approved by: re (Xin Li)
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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>
MFC after: 1 week
|
|
|
|
| |
implement it to avoid undefined behaviour.
|
|
|
|
|
|
| |
allocating USB transfers and not in host mode.
Reported by: George Mitchell <george+freebsd@m5p.com>
|
|
|
|
|
| |
MFC after: 1 week
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
|
|
|
|
| |
MFC after: 1 week
Reported by: aseem.jolly@gmail.com
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
MFC after: 1 week
PR: usb/180726
|
|
|
|
|
|
| |
Requested and tested by: delphij
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
|
|
|
|
|
|
|
| |
Reviewed by: jhb
Tested by: dchagin
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
|