diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2014-03-08 14:34:13 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2014-03-08 14:34:13 +0000 |
commit | eaa89fd716ef08f5a0ce1b718a9a650eb0a254ae (patch) | |
tree | ab7fd95e674af5b2d6c34e697a9332877b755ddf /sys/dev/biovar.h | |
parent | 192e3a27076d32a4c5c9c4b99eff2766075879dd (diff) |
Dumb xhci(4) implementation.
This driver does not handle isochronous endpoint (yet) and has no logical
TD representation. Each transfer is linked to the raw TRB of its related
endpoint.
Most of the transfer error completion codes are not handled, even with all
the cheese provided by miod@ I couldn't find a proper way to reset an
endpoint asynchronously when a device babbles. Or maybe it was the wine?
Anyway this will come soon.
In general the endpoint configuration and reset code is really crude and
requires some love, but our stack should be fixed to properly open only
once the default pipe of every new USB device first.
This means this driver wont work as it is, our stack needs other changes
first.
Suspend/resume works but ports are not suspended for the moment.
But even with these problems, interrupt devices: ukbd(4), ums(4) and
sensors like ugold(4) work properly and USB 3.0 umass(4) devices give
me a reasonnable read/write speed.
Timeouts to cancel USB transfers are not enabled *on purpose*, to be able
to track down potential timing issues.
I'm committing now so that others can help fixing my bugs (8
All this work has been done on an ExpressCard with a NEC xHCI 0.96, other
implementations/versions might trigger more bugs :)
Diffstat (limited to 'sys/dev/biovar.h')
0 files changed, 0 insertions, 0 deletions