Age | Commit message (Collapse) | Author |
|
reported by brad@.
|
|
obviously time out. That is what happen when pipes are closed after
unplugging an xhci(4) express card for example. In such case, make
sure the command TRB is reset.
|
|
because USB_START_ADDR is defined to 0 and the softc is M_ZERO'd,
assume that root hubs are the only devices with a depth of 0.
Root hubs can now happily be detached and reattached.
|
|
rings, and rewrite all the addresses in the registers.
While here don't keep a copy of our usb(4) child device, autoconf(9)
knows how to reach our children.
|
|
ucom but doesn't set any custom callbacks.
John Long has a HPx9G+ device that requires this.
|
|
|
|
|
|
report IDs, on those cases some positions on sc_subdevs[] can be null.
Initial analysis by guenther@.
ok mpi@
|
|
|
|
interrupt transfers
OK sthen@
|
|
|
|
OK sthen@
|
|
UPSes.
(forced commit due to previous empty commit message)
ok mpi@ sthen@
|
|
|
|
suggested by deraadt@
ok mpi@
|
|
|
|
ok mpi@
|
|
driver start routines. Instead add & use a pointer in the pkthdr
since we don't want the overhead of using a mbuf_tags(9).
claudio@ pointed out that other subsystems might want to use this
pointer too, so here's a new cookie!
ok claudio@, mikeb@, deraadt@
|
|
a device. This should be removed once all the drivers attaching to
uhidev(4) are converted.
ok andre@, sthen@
|
|
forget to update the Endpoint Context with the last valid endpoint
and free the device resources, including its slot, when the default
pipe is closed.
Device addresses can now be reused and I should be done with
descriptor leaks.
|
|
At this moment upd(4) exposes data from usb-based uninterruptable power systems
(or just USB Power Devices), sysctl(8) sensors (read snmpd(8) friendly), it is
also an "in-base" alternative to other 3rdparty UPS-monitoring software, we
have plans to bring more features.
This is my first "something" into the tree. Lots of thanks:
sthen@ and blambert@ are the ones to blame for the idea/challenge.
mpi@ is the one whom pushed me to get it correct (from uhub -> uhidev).
reyk@ mentored me on OpenBSD-way with previous iked/relayd experiences.
ok mpi@, deraadt@ "get it in".
|
|
own function and don't leave the driver half-configured if a children
doesn't set the interrupt function.
tested by jeremy@, ok andre@
|
|
functionnal change.
ok andre@
|
|
Xorg driver do the translation and handle them as regular keys. Fixes
confusion caused by the volume being changed twice in contradictory
ways: once by X programs and once by the ukbd(4) driver.
ok ratchov@
|
|
While here add a few other AX88179 devices as well.
|
|
|
|
While here add a few other AX88179 devices as well.
|
|
|
|
|
|
|
|
ok mpi@
|
|
Peter J. Philipp.
|
|
|
|
Peter J. Philipp.
|
|
Okay mpi@
|
|
before telling the stack/driver that the responsible transfer is
done.
Since the request sequence requires, in the present form, to submit
two commands from the interrupt handler, modify the command routine
to be able to submit asynchronous commands.
I can now use my crappy urtwn(4) over xhci(4).
While here convert some #if -> #ifdef, pointed out by brad@.
|
|
|
|
|
|
- Add Realtek RTL8152 / RTL8153 ids
- Add Davicom DM96xx ids
|
|
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 :)
|
|
non-superspeed hub descriptors. This is the minimal change I
came with to be able to properly attach and use USB 3.0 devices
attached to a xHCI root hub, uhub(4) clearly needs some love.
|
|
the correct speed. This has no effect for the moment since there is no
such driver in our tree, but something tells me it might change soon.
|
|
keep similar userland exported API definitions.
|
|
|
|
initialize the per-controller part.
ok deraadt@, kettenis@
|
|
for USB2 devices.
|
|
This will help us deal with the different hub device descriptors used
by super speed devices.
|
|
|
|
really impossible to debug the USB stack when any single device you plug
in your machine starts to vomit its own poetry,
|
|
descriptor they are linked to, so no need to dereference their pipe
pointer. Simplify a lot of affectations, no functional change.
ok pirofti@
|