summaryrefslogtreecommitdiff
path: root/sys/dev/biovar.h
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2014-03-08 14:34:13 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2014-03-08 14:34:13 +0000
commiteaa89fd716ef08f5a0ce1b718a9a650eb0a254ae (patch)
treeab7fd95e674af5b2d6c34e697a9332877b755ddf /sys/dev/biovar.h
parent192e3a27076d32a4c5c9c4b99eff2766075879dd (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