History log of /openbsd/sys/dev/usb/dwc2/dwc2_hcdintr.c (Results 1 – 15 of 15)
Revision Date Author Comments
# a9beb1ed 04-Sep-2022 mglocker <mglocker@openbsd.org>

Improve periodic USB transfers (device intr, isoc) used for input
devices, audio, and video. It's still not perfect, and will need
further improvements.

High level, the diff contains following chan

Improve periodic USB transfers (device intr, isoc) used for input
devices, audio, and video. It's still not perfect, and will need
further improvements.

High level, the diff contains following changes:

* Sync up with the Linux code base, which did re-work the periodic
scheduling code path.
* Run the driver in IPL_VM instead of IPL_USB to prioritize us before
lower/equal interrupts (same what NetBSD does).
* Add two new flags to our USB stack required by the updated driver
code:
- 'multi' flag in the usbd_hub structure to keep track whether
a hub has one Transaction Translator for all ports (single TT)
or one Transaction Translator per port (multi TT).
- 'hcpriv' pointer in the usbd_tt structure for the HC driver to
allocate memory for the scheduling depending on single or multi TT.

"go for it" kettenis@

show more ...


# 402cdca0 04-Sep-2021 mglocker <mglocker@openbsd.org>

Revert list_move() to list_move_tail() change from last commit since it
turned out that it has a negative impact to isoc transfers timing with our
driver implementation.


# 9bb9c189 27-Jul-2021 mglocker <mglocker@openbsd.org>

Implemented from the Linux driver:

* Introduce split transaction order queues.
* Improve the NAK interrupt handler routine.
* Mostly move from list_move() to list_move_tail().

Those changes fix an

Implemented from the Linux driver:

* Introduce split transaction order queues.
* Improve the NAK interrupt handler routine.
* Mostly move from list_move() to list_move_tail().

Those changes fix an attachment problem seen for certain devices which
are issuing NAK interrupts during split transactions, which don't get
handled correctly by the driver today. This could result in unexpected
channel halting, printing "ChHltd set, but reason is unknown", which
finally leaves the device back on a disabled USB port.

ok kettenis@

show more ...


# d05ae140 22-Jul-2021 mglocker <mglocker@openbsd.org>

Sync dwctwo(4) with the NetBSD-current code base.

On the Raspberry Pi 3 Model B+ this does as a benefit:

* Enable the USB on-board Ethernet controller through mue(4).
* Enable the two USB uhub2 p

Sync dwctwo(4) with the NetBSD-current code base.

On the Raspberry Pi 3 Model B+ this does as a benefit:

* Enable the USB on-board Ethernet controller through mue(4).
* Enable the two USB uhub2 ports for removable devices.

Feedback incorporated from kettenis@ and jsg@.

ok kettenis@

show more ...


# b27348b2 08-Sep-2017 deraadt <deraadt@openbsd.org>

If you use sys/param.h, you don't need sys/types.h


# 6b1c7616 29-Jun-2017 deraadt <deraadt@openbsd.org>

kill RCSID macros; discussed with millert


# bd38a9bd 20-Jun-2017 visa <visa@openbsd.org>

Check the validity of the `qtd' pointer after each interrupt case
and bail out if the pointer has become invalid. This prevents
use-after-free memory accesses that corrupted the dwc2qtd pool.

This f

Check the validity of the `qtd' pointer after each interrupt case
and bail out if the pointer has become invalid. This prevents
use-after-free memory accesses that corrupted the dwc2qtd pool.

This fix improves stability on the Raspberry Pi 3.

From Linux commit dc8730846948e517169f630826cd2c97615f5ee8
OK kettenis@

show more ...


# fa0f9cf4 12-Feb-2017 visa <visa@openbsd.org>

Replace dummy mutex asserts with real ones.

OK stsp@


# c95c98b7 28-Jun-2015 jmatthew <jmatthew@openbsd.org>

Convert list_head lists into TAILQs and LISTs and fix up header includes
so we can build dwc2 without extra stuff.

tested by several edgerouter lite owners, ok jasper@


# 05c50565 12-Feb-2015 uebayasi <uebayasi@openbsd.org>

De-static for backtracing, but using #define to not change indent (for now).


# b6c5b329 10-Feb-2015 uebayasi <uebayasi@openbsd.org>

s/mutex/mtx/
s/pool_cache/pool/
s/callout/timeout/
s/kmem/malloc/
s/workqueue/taskq/
s/softint/softintr/


# 309465db 10-Feb-2015 uebayasi <uebayasi@openbsd.org>

Convert header paths.


# f99aa45d 10-Feb-2015 uebayasi <uebayasi@openbsd.org>

Add RCS IDs.


# 25e434cb 10-Feb-2015 uebayasi <uebayasi@openbsd.org>

Redo dwc2 import with CVS tags expanded.


# 578f812d 10-Feb-2015 uebayasi <uebayasi@openbsd.org>

Import dwc2 core and glue code from NetBSD. OK deraadt@ jsing@ miod@ mpi@