| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
- Sync musb_otg_atmelarm with new core logic API
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Only multi-TD isochronous transfers should use NORMAL
type after specific type as per XHCI specification.
2) BEI bit is only available in NORMAL and ISOCHRONOUS
TRB types. Don't use this bit for other types to avoid
hardware asserts. Reserved bits should be don't care
though ...
MFC after: 1 week
PR: usb/179342
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
remaining after the current TRB has been executed. Refer to section 4.11.2.4
of the XHCI specification for USB.
MFC after: 1 week
|
|
|
|
|
|
|
| |
Only the first TRB should be markes as special. Subsequent ones should be
marked as NORMAL. Optimise away TD first variable.
MFC after: 1 week
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
| |
Typically this feature is used for isochronous transfers.
This reduces the amount of XHCI interrupting.
MFC after: 1 week
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
| |
The existing streams mode support is not working and has not been tested
due to lack of hardware which supports the given feature.
MFC after: 1 week
|
|
|
|
|
|
| |
for ATI based USB controllers.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
controller hardware most likely present on UHCI chipsets aswell. The
bug manifests itself when issuing isochronous transfers and bulk
transfers towards the same device simultaneously. From time to time it
happens that either the completion IRQ was missing or that the
completion IRQ was happening before the ITD/SITD was completely
written back to memory. The workaround assumes that double buffered
isochronous transfers are used, and that a second interrupt is
generated at the beginning of the next isochronous transfer to
complete the previous one. Possibly skipping the interrupt at the last
isochronous frame is possible, but will then break single buffered
isochronous transfers. For now we can live with some extra interrupts.
MFC after: 1 week
|
|
|
|
| |
USB explore thread.
|
| |
|
|
|
|
|
| |
MFC after: 2 weeks
Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
| |
PR: arm/177685
Submitted by: Christoph Mallon <christoph.mallon@gmx.de>
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|
| |
|
|
|
|
|
|
|
|
|
| |
enumeration lock. Make sure all callers of usbd_enum_lock() check the return
value. Remove the control transfer specific lock. Bump the FreeBSD version
number, hence external USB modules may need to be recompiled due to a USB
device structure change.
MFC after: 1 week
|
|
|
|
| |
USB stack. This is useful for non-kernel purposes, like the loader.
|
|
|
|
|
|
|
| |
device_method_t arrays
Reviewed by: cognet
Approved by: cognet
|
|
|
|
|
|
| |
splitting it makes it hard to grep.
Submitted by: Christoph Mallon
|
|
|
|
|
|
| |
better readability.
Submitted by: Christoph Mallon
|
|
|
|
|
|
|
| |
american english instead of giving each module its
own.
Submitted by: Christoph Mallon
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
into the FreeBSD boot loader, typically for non-USB aware BIOSes, EFI systems
or embedded platforms. This is also useful for out of the system compilation
of the FreeBSD USB stack for various purposes. The USB kernel files can
now optionally include a global header file which should include all needed
definitions required to compile the FreeBSD USB stack. When the global USB
header file is included, no other USB header files will be included by
default.
Add new file containing the USB stack configuration for the
FreeBSD loader build.
Replace some __FBSDID()'s by /* $FreeBSD$ */ comments. Now all
USB files follow the same style.
Use cases:
- console in loader via USB
- loading kernel via USB
Discussed with: Hiroki Sato, hrs @ EuroBSDCon
|
|
|
|
|
| |
Reported by: Lars Engels
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
microseconds of PCI access time.
Tested by: sos @
Submitted by: sos @
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
| |
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 @
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
- Ring the correct doorbell when streams mode is used.
- Wrap one or two long lines.
Tested by: Markus Pfeiffer (DragonFlyBSD)
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
DWC OTG driver. Fix a hang issue when using LOW and FULL speed
BULK traffic. Make sure we don't ask for data in the last
microframe. This allows using devices like USB mice and USB
keyboards connected to the RPI-B.
Suggested by: gonzo @
|
|
|
|
| |
by adding the missing bits. See ehci_fsl.c for their use.
|
|
|
|
|
|
|
|
| |
Rearrange the tunables and belonging sysctl declarations, so
that they are next to eachother.
Submitted by: n_hibma @
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
| |
Also update the port reset time from 250ms to 50ms. Some USB devices
have a hard limit in hardware at 222ms for the port reset time and will
not enumerate unless this delay is closer to the usb.org defined value.
This patch can fix enumeration with some USB devices.
Tested by: Guido van Rooij
Submitted by: Nick Hibma
MFC after: 1 week
|
|
|
|
|
|
|
| |
Only RootHUB ports can be dual mode. Disallow OTG ports on external HUBs.
This simplifies some checks in the USB controller drivers.
MFC after: 1 week
|
| |
|
| |
|
|
|
|
|
| |
Improve host channel disabling. Wait two times 125us for channel to be
disabled. The DWC OTG doesn't like when channels are re-used too early.
|
| |
|
|
|
|
|
| |
- Make HSIC selection dynamic.
- Make LOW speed USB devices work through HIGH speed USB HUB.
|
|
|
|
|
|
|
|
|
|
| |
gone rule. Optimise use of channels so that when a channel
is not ready another channel is used. Instead of using the SOF interrupt
use the system timer to drive the host statemachine. This might
give lower throughput and higher latency, but reduces the CPU usage
significantly. The DWC OTG host mode support should not be considered
for serious USB host controller applications. Some problems are still
seen with LOW speed USB devices.
|
|
|
|
|
| |
words FULL/LOW speed devices through HIGH speed HUBs. Improve support for
suspend and resume in host mode.
|
| |
|
| |
|
|
|
|
|
|
| |
of the DWC OTG is very simple in PIO mode, and we need to re-transmit
data when NAK is received among other things. We probably will need
to implement some kind of rate limitation on the NAK-ing.
|
|
|
|
| |
registering interrupt handlers yet for GPIO events.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The DWC OTG host mode support should still be considered
experimental. Isochronous support for DWC OTG is not
fully implemented. Some code added derives from
Aleksandr Rybalko's dotg.c driver.
|