OpenBSD cvs log

created 2022-10-30T02:56:02Z
begin 2022-10-28T00:00:00Z
end 2022-10-29T00:00:00Z
path src/sys
commits 6

date 2022-10-28T14:55:46Z
author kn
files src/sys/dev/isa/ad1848.c log diff annotate
src/sys/dev/isa/ad1848var.h log diff annotate
src/sys/dev/isa/ess.c log diff annotate
src/sys/dev/isa/gus.c log diff annotate
src/sys/dev/isa/gusvar.h log diff annotate
src/sys/dev/isa/pas.c log diff annotate
src/sys/dev/isa/sb.c log diff annotate
src/sys/dev/isa/sbdsp.c log diff annotate
src/sys/dev/isa/sbdspvar.h log diff annotate
message Replace audio(9) get_props() with duplex check in open() in partial duplex drivers

Make drivers which do *not* adverise AUDIO_PROP_FULLDPLEX return ENXIO
in their open() if full-duplex mode was requested.

This way, sys/dev/audio.c:audio_open() will fail immediately rather than
later through the to-be-removed get_props() check.

This is the first round for drivers with logic in their get_props(), i.e.
those that only support full-duplex mode for specific hardware:

ess(4), gus(4), pas(4) and sb(4)

All of these are i386/GENERIC only and share code through
sys/dev/isa/{ad1848,sbdsp}{.c,var.h} which are not used by any other kernel.

i386/GENERIC.MP builds and boots with this diff.
OK ratchov miod

date 2022-10-28T15:02:20Z
author kn
files src/sys/dev/usb/utvfu.c log diff annotate
message 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

date 2022-10-28T15:07:25Z
author kettenis
files src/sys/arch/mips64/include/exec.h log diff annotate
message Implement support for DT_MIPS_RLD_MAP_REL.

ok deraadt@

date 2022-10-28T15:09:45Z
author kn
files src/sys/arch/arm64/dev/aplaudio.c log diff annotate
src/sys/arch/arm64/dev/aplmca.c log diff annotate
src/sys/arch/luna88k/cbus/nec86.c log diff annotate
src/sys/arch/luna88k/cbus/nec86hw.c log diff annotate
src/sys/arch/luna88k/cbus/nec86hwvar.h log diff annotate
src/sys/dev/fdt/graphaudio.c log diff annotate
src/sys/dev/fdt/rkiis.c log diff annotate
src/sys/dev/fdt/simpleaudio.c log diff annotate
src/sys/dev/ic/arcofi.c log diff annotate
message Replace audio(9) get_props() with duplex check in open() in non-duplex drivers

Make drivers which do *not* adverise AUDIO_PROP_FULLDPLEX return ENXIO
in their open() if full-duplex mode was requested.

This way, sys/dev/audio.c:audio_open() will fail immediately rather than
later through the to-be-removed get_props() check.

These are all drivers which simply don't support full-duplex mode.

In device-tree based drivers like simpleaudio(4)/rkiis(4) and newer Apple
ones like aplaudio(4)/aplmca(4), this adds a new open() stub to the
low-level drivers which merely does the duplex check.

My Pinebook Pro keeps playing audio and recording silence with this diff
just like before (rkiis(4) is currently play-only):
simpleaudio0 at mainbus0
simpleaudio1 at mainbus0
audio0 at simpleaudio1

$ aucat -i song69.wav -o rec.wav

OK ratchov miod

date 2022-10-28T15:09:46Z
author kn
files src/sys/dev/pci/maestro.c log diff annotate
message Replace audio(9) get_props() with duplex check in open() in non-duplex drivers

Make drivers which do *not* adverise AUDIO_PROP_FULLDPLEX return ENXIO
in their open() if full-duplex mode was requested.

This way, sys/dev/audio.c:audio_open() will fail immediately rather than
later through the to-be-removed get_props() check.

These are all drivers which simply don't support full-duplex mode.

In device-tree based drivers like simpleaudio(4)/rkiis(4) and newer Apple
ones like aplaudio(4)/aplmca(4), this adds a new open() stub to the
low-level drivers which merely does the duplex check.

My Pinebook Pro keeps playing audio and recording silence with this diff
just like before (rkiis(4) is currently play-only):
simpleaudio0 at mainbus0
simpleaudio1 at mainbus0
audio0 at simpleaudio1

$ aucat -i song69.wav -o rec.wav

OK ratchov miod

date 2022-10-28T15:13:59Z
author kn
files src/sys/dev/audio.c log diff annotate
src/sys/dev/audio_if.h log diff annotate
message Remove unused audio(9) get_props()/AUDIO_PROP_FULLDUPLEX

All audio drivers have been cleaned up and, if needed, now check for duplex
mode in their open() handler.

OK ratchov miod