Subject: Re: port-evbmips/31912: Au1500 OHCI doesn't work when CPU is little
To: None <port-evbmips-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: netbsd-bugs
Date: 10/28/2005 23:14:02
The following reply was made to PR port-evbmips/31912; it has been noted by GNATS.
From: "Garrett D'Amore" <garrett_damore@tadpole.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: port-evbmips/31912: Au1500 OHCI doesn't work when CPU is little
endian...
Date: Fri, 28 Oct 2005 16:13:01 -0700
Simon Burge says that we need to conditionalize the endian swapping,
because the device already does it for us.
Evidence suggests that this may be true, but we are having some "mixed"
results.
Specifically, after turning off software htole32(), USB probes seem to
work properly -- devices come and go properly.
However, trying to use, for example, a USB ASIX ethernet adapter, does
not work in Big Endian mode, where it works fine in little endian mode.
(The MII shows up properly, but it negotiates at some 10HDX setting
which doesn't match the switch, and hence is totally busted. Since I
cannot transfer packets without a working media interface, I don't know
how busted it is.)
I have also run into some general "fragility" of the OHCI driver (or
perhaps the USB framework) trying to test with other devices, which has
met with very little success. (A couple of panics, etc.) (I don't know
how to test keyboard/mouse devices when the serial port is on the console!)
I am going to wait a while to see if I can make any further progress on
this before submitting my diffs to date. If someone else wants them,
please let me know. Thanks!