HomeFreeBSD

MFNetBSD ehci.c and ehcireg.h
rS131121Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

MFNetBSD ehci.c and ehcireg.h

ehci.c (1.55), ehcireg.h (1.16); author: mycroft

Set the data toggle correctly, and use EHCI_QTD_DTC.  This fixes
problems with my ALi-based drive enclosure (it works now, rather
than failing to attach).  Also seems to work with a GL811-based
enclosure and an ASUS enclosure with a CD-RW, on both Intel and
NEC controllers.

Note: The ALi enclosure is currently very SLOW, due to some issue
with taking too long to notice that the QTD is complete.  This
requires more investigation.

ehci.c (1.56); author: mycroft

Failure to properly mask off UE_DIR_IN from the endpoint address
was causing OHCI_ED_FORMAT_ISO and EHCI_QH_HRECL to get set
spuriously, causing rather interesting lossage.

Suddenly I get MUCH better performance with ehci...

ehci.c (1.58); author: mycroft

Fix a stupid bug in ehci_check_intr() that caused use to try to
complete a transaction that was still running.  Now ehci can
handle multiple devices being active at once.

ehci.c (1.59); author: enami

As the ehci_idone() now uses the variable `epipe'
unconditionally, always declare it (in other words, make this
file compile w/o EHCI_DEBUG).

ehci.c (1.60); author: mycroft

Remove comment about the data toggle being borked.

ehci.c (1.61); author: mycroft

Update comment.

ehci.c (1.62); author: mycroft

Adjust a couple of comments to make it clear WTF is going on.

ehci.c (1.63); author: mycroft

Fix an error in a debug printf().

ehci.c (1.64), ehcireg.h (1.17); author: mycroft

Further cleanup of toggle handling.  Now that we use EHCI_QH_DTC,
we don't need to fiddle with the TOGGLE bit in the overlay
descriptor, so minimize how much we fuss with it.

Obtained from: NetBSD

Details

Provenance
leAuthored on
Parents
rS131120: Remove dependency on dev/usb/usbdevs.h, in preparation for its
Branches
Unknown
Tags
Unknown

Event Timeline