Age | Commit message (Collapse) | Author |
|
controller from reactivating it. Slight variation on what is
suggested in the EHCI spec to work around problems with VIA
controllers.
ok dlg@
|
|
re-requesting it at half second intervals for up to five seconds.
ok dlg@
|
|
ok dlg
|
|
code doesn't work correctly when errored transactions occur.
ok dlg@
|
|
ok dlg@
|
|
|
|
something, then it MUST return zero on DVACT_ACTIVATE, not EOPNOTSUPP;
this very popular bug has been cut and pasted a lot of times...
ok deraadt@ mickey@
|
|
|
|
transfers. This fixes some cases where the software toggle tracking
was not doing the right thing. For example, a short transfer that
transferred 0 bytes of the requested qTD transfer size does cause
a toggle change, but the existing code was assuming it didn't.
Derived from work in FreeBSD.
Fixes at least one USB2 cdce device, which would otherwise drop
every second packet due to incorrect toggle state.
commit it, dlg@
|
|
is closed and then reopened. This may be necessary now that
we no longer clear endpoint stalls every time a pipe is opened.
Previously we could assume an initial toggle value of zero because
a clear-stall operation resets the device's toggle state.
Derived from work in FreeBSD.
This is most likely to affect devices like printers, which open
pipes for short periods of time and close them again.
ok dlg@
|
|
USBD_FORCE_SHORT_XFER to ensure that we actually build and execute
a transfer.
Based on changes in FreeBSD rev1.47
|
|
From NetBSD r1.104
|
|
a page offset.
From Dan Ellis via NetBSD rev 1.103
|
|
transfer when necessary.
From Dan Ellis via NetBSD rev 1.102
|
|
From augustss NetBSD
ok dlg@
|
|
userland-visible sys/select.h. Consistent with what Net and Free do.
OK deraadt@, tested with full ports build by naddy@.
|
|
|
|
initialization is finished.
From augustss NetBSD
ok dlg@ pascoe@
|
|
incorrectly attach to the companion controller.
Patch from Sebastiaan Indesteege on tech@
ok dlg@
|
|
controllers. remove the insane amount of support code needed just for the
printing of the companion controllers while here.
zap it deraadt@ sure pascoe@
|
|
devices. usb probe/attach now happens before root is mounted so there is no
requirement to do anything special anymore.
|
|
should not detach and reattach when you resume now.
|
|
Supports bulk, control and interrupt pipes, letting USB1 keyboards and most
network interfaces work when connected to a USB2 hub.
ok dlg@
|
|
downstream interupt heads have an even temporal distribution.
ok dlg@
|
|
XActErr is not the only qH warning bit that "sticks" during a transaction.
ok dlg@
|
|
ok pascoe@
|
|
zero. The host controller should, in theory, never follow this pointer, but
it is a minor spec violation.
ok dlg@
|
|
- always initialise the pipe multiplier to a valid value
- do not unchain the the interrupt QHs immediately after initialisation
ok dlg@
|
|
transaction completed successfully on retry.
ok dlg@
|
|
completion before they have performed writeback from the overlay qTD.
This condition would exhibit itself as a umass stall that never recovers.
ok dlg@
|
|
ok dlg@
|
|
ok dlg@
|
|
ok dlg@
|
|
ok dlg@
|
|
log message:
Attempt to follow the correct procedure for synchronising with the
system BIOS to disable legacy device emulation as per the "EHCI
Extended Capability: Pre-OS to OS Handoff Synchronisation" section
of the EHCI spec. BIOSes that implement legacy emulation using SMIs
are supposed to disable the emulation when this procedure is performed.
tested on various archs by jsg@ and me
ok pascoe@, looks sane jsg@
|
|
Only delay interrupt my 2 miucroframes instead of 8. This improves
Ethernet performance.
|
|
|
|
like us, so get rid of the ifdefs.
|
|
hcpriv is not actually used here. Remove references to it.
|
|
Follow the spec more closely when updating the overlay qTD in the QH.
Preserve some bits in the overlay qTD.
|
|
No need to generate an interrupt at the data part of a control transfer,
it's generated by the status transfer.
|
|
Make sure to update the data toggle on short transfers.
This makes my Ethernet adapter much happier.
|
|
|
|
with usb2 hardware.
|
|
while here define EHCI_DEBUG when USB_DEBUG is defined
ok pvalchev@ deraadt@
|
|
|
|
function names in messages didnt always match the actual name of the function.
endian fix when dumping a qtd chain so it terminates correctly on big endian
archs.
dont blame uhci for problems ehci has.
|
|
|
|
|
|
this is netbsds fix for the endian problems they had with the data toggle
change. do the swap when the var is assigned to the qtd, rather than swap
everything that is assigned to the var and just assign the var. instead of 4
or so htole32s we now do 1.
from netbsd, ehci.c 1.67 (i made a mistake, the last patch i gave you was
from 1.68) log message:
Fix a byte order error.
|