Bring EHCI up-to-date with NetBSD. The most serious fixes are 1.53, 1.55,
authorMatthew Dillon <dillon@dragonflybsd.org>
Thu, 8 Jul 2004 03:47:09 +0000 (03:47 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Thu, 8 Jul 2004 03:47:09 +0000 (03:47 +0000)
commit2cc4681014efa5785bb5088151e6e19d10f38bd7
treed24eb4290dbe0757f57a950a913a446985800c45
parentc90ee8f818502b5e252ccd7a8dc29fda72fedb69
Bring EHCI up-to-date with NetBSD.  The most serious fixes are 1.53, 1.55,
1.56, and 1.64.

    revision 1.67
    Fix a byte order error. (note: was already previously ported to
 DFly)

    revision 1.66
    Fix an endianness problem (EHCI_NULL was being double-swapped).

    revision 1.65
    Make one message dependent on ohcidebug, so it doesn't interfere with polled
    operation; e.g. when entering a root device or in DDB.

    revision 1.64
    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.

    revision 1.63
    Fix an error in a debug printf().

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

    revision 1.61

    revision 1.60
    Remove comment about the data toggle being borked.

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

    revision 1.58
    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.

    revision 1.57
    Oops.  Remove a couple of printf()s.

    revision 1.56
    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...

    revision 1.55
    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.

    revision 1.54
    branches:  1.54.2;
    Michael van Elst reports his USB2 disk works stable after latest Chuck's
    ehci.c changes, so remove the item from TODO.

    revision 1.53
    in ehci_softintr() when looping over the active xfers, save the next pointer
    before calling ehci_check_intr(), since that will free the xfer structure
    if the xfer is complete.

    revision 1.52
    add list of known issues, from Lennart Augustsson and Michael van Elst

    revision 1.51
    Use the correct wValue to get hub desriptors.
    Also, make wValue checks of root hub codes less strict.
sys/bus/usb/ehci.c
sys/bus/usb/ehcireg.h