History log of /openbsd-current/sys/dev/usb/utvfu.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.20 23-May-2024 jsg

remove unneeded includes; ok mpi@


Revision tags: OPENBSD_7_3_BASE OPENBSD_7_4_BASE OPENBSD_7_5_BASE
# 1.19 28-Oct-2022 kn

Remove audio(9) get_props() from record-only drivers

utvfu(4) seems to be the only driver that currently supports recording but
not playing and its open() already returns ENXIO when playing is requested,
so no need to add another duplex check after get_props() is gone.

OK ratchov miod


# 1.18 19-Oct-2022 kn

Use C99 struct init for struct audio_hw_if

This audio(9) struct will lose a member, but drivers init their struct quite
inconsistently, most pre-C99 style.

Use C99 style everywhere, to get rid of all annoying differences and allow
for easy member removals/additions:
- don't change current order of members
- no explicit NULL members
- no comments or blank lines
- trailing comma in last member line

GENERIC.MP builds fine with this on arm64, amd64, i386 and sparc64.

macppc and alpha build-tested by miod
OK ratchov miod


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 21-Mar-2022 miod

Constify struct {audio,midi,radio,video}_hw_if. No functional change.

ok mpi@ ratchov@ "More const is good" deraadt@


# 1.16 16-Feb-2022 anton

Make room for a cookie argument passed to audio_attach_mi(). Currently
unused but intended to be used to correlate audio and wskbd devices.

ok ratchov@


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.19 28-Oct-2022 kn

Remove audio(9) get_props() from record-only drivers

utvfu(4) seems to be the only driver that currently supports recording but
not playing and its open() already returns ENXIO when playing is requested,
so no need to add another duplex check after get_props() is gone.

OK ratchov miod


# 1.18 19-Oct-2022 kn

Use C99 struct init for struct audio_hw_if

This audio(9) struct will lose a member, but drivers init their struct quite
inconsistently, most pre-C99 style.

Use C99 style everywhere, to get rid of all annoying differences and allow
for easy member removals/additions:
- don't change current order of members
- no explicit NULL members
- no comments or blank lines
- trailing comma in last member line

GENERIC.MP builds fine with this on arm64, amd64, i386 and sparc64.

macppc and alpha build-tested by miod
OK ratchov miod


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 21-Mar-2022 miod

Constify struct {audio,midi,radio,video}_hw_if. No functional change.

ok mpi@ ratchov@ "More const is good" deraadt@


# 1.16 16-Feb-2022 anton

Make room for a cookie argument passed to audio_attach_mi(). Currently
unused but intended to be used to correlate audio and wskbd devices.

ok ratchov@


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.18 19-Oct-2022 kn

Use C99 struct init for struct audio_hw_if

This audio(9) struct will lose a member, but drivers init their struct quite
inconsistently, most pre-C99 style.

Use C99 style everywhere, to get rid of all annoying differences and allow
for easy member removals/additions:
- don't change current order of members
- no explicit NULL members
- no comments or blank lines
- trailing comma in last member line

GENERIC.MP builds fine with this on arm64, amd64, i386 and sparc64.

macppc and alpha build-tested by miod
OK ratchov miod


Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE
# 1.17 21-Mar-2022 miod

Constify struct {audio,midi,radio,video}_hw_if. No functional change.

ok mpi@ ratchov@ "More const is good" deraadt@


# 1.16 16-Feb-2022 anton

Make room for a cookie argument passed to audio_attach_mi(). Currently
unused but intended to be used to correlate audio and wskbd devices.

ok ratchov@


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.17 21-Mar-2022 miod

Constify struct {audio,midi,radio,video}_hw_if. No functional change.

ok mpi@ ratchov@ "More const is good" deraadt@


# 1.16 16-Feb-2022 anton

Make room for a cookie argument passed to audio_attach_mi(). Currently
unused but intended to be used to correlate audio and wskbd devices.

ok ratchov@


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.16 16-Feb-2022 anton

Make room for a cookie argument passed to audio_attach_mi(). Currently
unused but intended to be used to correlate audio and wskbd devices.

ok ratchov@


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.15 28-Nov-2021 mglocker

Spacing


# 1.14 28-Nov-2021 mglocker

utvfu(4) only has one frame size, either for PAL or NTSC. Therefore
return EINVAL after the first frame size has been returned in the
VIDIOC_ENUM_FRAMESIZES ioctl.

ok mpi@


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.13 24-Nov-2021 mglocker

Spacing


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.12 22-Nov-2021 mglocker

Align memory allocation for USB device drivers and USB HC drivers:

* USB device drivers use M_USBDEV instead of M_DEVBUF.
* USB HC drivers use M_USBHC instead of M_DEVBUF.

In a vanilla setup, this enlarges the USB memory pool.

ok anton@


Revision tags: OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE
# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.11 31-Jul-2020 mglocker

Nuke all occurrences of usbd_abort_pipe() if it gets called right
before usbd_close_pipe(), since usbd_close_pipe() already takes care
about aborting non-empty pipes.

As investigated by gerhard@ usbdi.c rev. 1.57 did add usbd_abort_pipe()
to usbd_close_pipe(), but the drivers didn't get cleaned up afterwards.

ok gerhard@


Revision tags: OPENBSD_6_7_BASE
# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


# 1.10 14-Oct-2019 mpi

Convert tsleep(9) to tsleep_nsec(9).

ok visa@, kn@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.9 19-Sep-2016 ratchov

Remove unused getdev() audio driver functions.


# 1.8 14-Sep-2016 ratchov

Remove drain(), query_encoding(), mappage() and get_default_params()
methods from all audio drivers and from the audio_if structure as they
are never called.


Revision tags: OPENBSD_6_0_BASE
# 1.7 17-Jun-2016 mglocker

Replace tsleep/wakeup by usbd_ref_incr/decr/wait to wait for the kthread
to finish on close.

Tested and ok Patrick Keshishian

ok mpi


# 1.6 13-Jun-2016 mglocker

Remove tracking of endpoints in utvfu_{as,vs}_iface structs as these
are constants; save two more ints.

From Patrick Keshishian

ok mpi


# 1.5 13-Jun-2016 mglocker

Ensure expected video endpoint has wMaxPacketSize > 0 during
utvfu_match().

From Patrick Keshishian

ok mpi


# 1.4 13-Jun-2016 mglocker

* Start/stop audio bulk thread as consumer opens/closes device.
And as a result get rid of a few defines/flags.
* Fix _as_close() to and audio bulk thread exit.
* Change sc->sc_as_running into a flag; save an int.

From Patrick Keshishian

ok mpi


# 1.3 02-Jun-2016 mglocker

Fix typo in comment.

From Lubomir Rintel via Patrick Keshish


# 1.2 01-Jun-2016 deraadt

Not all architectures implicitly #include <sys/device.h> via earlier
includes (yes, that is a bug, but the tree should compile now.
In particular: sparc64


# 1.1 01-Jun-2016 mglocker

New USB device driver for Audio/Video capture devices based on the
Fushicai USBTV007 chip.

The chip specific code has been written by Lubomir Rintel and Federico
Simoncelli. Patrick Keshishian has ported it to OpenBSD and wrote the
remaining code based on uvideo(4).

Input and help also from mpi@ and ratchov@.

ok mpi