Home | History | Annotate | Download | only in audio
History log of /src/sys/dev/audio/audiovar.h
RevisionDateAuthorComments
 1.13  23-Apr-2023  mlelstv Enable 24bit support by default.
 1.12  29-May-2020  isaki Fix suspend/resume.
- Revert temporary usage of sc_[pr]busy during suspend. These indicate
whether the mixer needs to be restarted or not.
- Avoid timeout error when about to suspend.
 1.11  07-Mar-2020  isaki Split sc_lock and sc_exlock.
Most (probably all) malloc/free (or routines which may sleep) now can be
called without holding mutex.
Pointed out by riastradh@.
 1.10  05-Mar-2020  riastradh Revert "Include opt_diagnostic.h for DIAGNOSTIC."

This did not do what I thought it did. opt_diagnostic.h is only for
the unused _DIAGNOSTIC, which seems like an abortive attempt to
incrementally convert DIAGNOSTIC to an opt_*.h option rather than a
command-line option.
 1.9  05-Mar-2020  riastradh Include opt_diagnostic.h for DIAGNOSTIC.

...at least, in header files, which may not have already included
libkern.h.
 1.8  23-Feb-2020  isaki Prevent a race between audiodetach and fileops methods using psref(9).
Fix PR kern/54427.
Thank you so much riastradh@
 1.7  11-Jan-2020  isaki Simplify async_mixer handling.
- It makes FIOASYNC code in mixer_ioctl() symmetric.
- For readability, mixer_async_{add,remove}() should take pid argument
though pid is always curproc.
 1.6  11-Jan-2020  isaki Remove old debug #ifdefs.
 1.5  29-Aug-2019  isaki branches: 1.5.2;
Fix lock assertion on async I/O mode.
psignal() must be called without any spin locks.
Thanks maxv@!
 1.4  26-Jun-2019  isaki branches: 1.4.2;
Improve audiobell (and interfaces with audio).
- Generate pseudo sine wave if possible. It may improve timbre.
If it cannot represent a sine wave, it falls back to a triangular
wave or a rectangular wave.
- Volume adjustment.
- Calculate playback frequency based on mixer frequency.
Now audiobellopen() initializes playback parameters other than
sample_rate, and new audiobellsetrate() sets sample_rate.
 1.3  10-Jun-2019  isaki branches: 1.3.2;
Call get_props() once at attach.
 1.2  08-May-2019  isaki Merge isaki-audio2 branch, the overhaul of audio subsystem.
- Interrupt-oriented system rather than thread-oriented.
- Improve stability, quality and performance.
- Split playback and record cleanly. Improve halfduplex support.
- Many bugs are fixed including deadlocks, resource leaks, abuses, etc.
- Simplify audio filter mechanism. The encoding/channels/frequency
conversions are completely handled in the upper layer. So the hard-
ware driver only converts its hardware encoding (if necessary).
- audio_hw_if changes:
- Obsoletes query_encoding and add query_format instead.
- Obsoletes set_params and add set_format instead.
- Remove drain, setfd, mappage.
- The call sequences are changed.
- ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted.
- ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced.
- cleanup config attributes: au*conv and mulaw.
- All hardware drivers should follow it (I've done as much as possible).

Some file paths are changed:
- dev/audio.c -> dev/audio/audio.c (rewritten)
- dev/audiovar.h -> dev/audio/audiovar.h
- dev/audio_dai.h -> dev/audio/audio_dai.h
- dev/audio_if.h -> dev/audio/audio_if.h
- dev/audiobell.c -> dev/audio/audiobell.c
- dev/audiobellvar.h -> dev/audio/audiobellvar.h
- dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
 1.1  21-Apr-2019  isaki branches: 1.1.2;
file audiovar.h was initially added on branch isaki-audio2.
 1.1.2.3  05-May-2019  isaki Revive multiuser control.
 1.1.2.2  04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.1.2.1  21-Apr-2019  isaki Reimplement audio subsystem.
http://mail-index.netbsd.org/tech-kern/2019/04/01/msg024944.html
At first step, audio and devices tightly coupled to audio.
audio.c -> dev/audio.c: completely rewritten.
mulaw.c -> audio/mulaw.c, audio/alaw.c: improve quality.
audiovar.h, mulaw.h: should be removed.
audio/linear.c: efficient new linear-linear converter.
auconv.[ch]: should be removed but need some functions for now.
aurateconv, auvolconv: removed (new audio.c handles it).
audiobell.c: efficient and small new bell driver.
audiobelldata.h: removed 4KB sine wave data.
pad/pad.c: catch up audio, but not cloneable for now.
 1.3.2.4  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.3  08-Apr-2020  martin Merge changes from current as of 20200406
 1.3.2.2  10-Jun-2019  christos Sync with HEAD
 1.3.2.1  10-Jun-2019  christos file audiovar.h was added on branch phil-wifi on 2019-06-10 22:07:06 +0000
 1.4.2.4  07-Jun-2020  martin Pull up following revision(s) (requested by isaki in ticket #950):

sys/dev/audio/audio.c: revision 1.71
sys/dev/audio/audio.c: revision 1.73
sys/dev/audio/audio.c: revision 1.74
sys/dev/audio/audio.c: revision 1.75
sys/dev/audio/audiovar.h: revision 1.12

audio: Fix logic for resuming when the device is in use.

audio_[r/p]mixer_start should never be called when the device is
marked busy.

Resolves a panic on resume when audio is playing, PR kern/55301

audio: remove comment that is no longer valid

audio: Only restart recording mixer on resume if it's already been started

Fix suspend/resume.
- Revert temporary usage of sc_[pr]busy during suspend. These indicate
whether the mixer needs to be restarted or not.
- Avoid timeout error when about to suspend.
 1.4.2.3  30-Apr-2020  martin Pull up following revision(s) (requested by isaki in ticket #877):

sys/dev/audio/audio.c: revision 1.55
sys/dev/audio/audio.c: revision 1.41
sys/dev/audio/audio.c: revision 1.48
sys/dev/audio/audiovar.h: revision 1.7
sys/dev/audio/audio.c: revision 1.63 (via patch)
sys/dev/audio/audiovar.h: revision 1.11
sys/dev/audio/audio.c: revision 1.64

Simplify async_mixer handling.
- It makes FIOASYNC code in mixer_ioctl() symmetric.
- For readability, mixer_async_{add,remove}() should take pid argument
though pid is always curproc.

hw_if->query_format is already mandatory method. Drop null checks.

Improve error handling around audio_hw_probe().
It was difficult to return multiple errors.

Split sc_lock and sc_exlock.

Most (probably all) malloc/free (or routines which may sleep) now can be
called without holding mutex.
Pointed out by riastradh@.

Fix/Update comments about allocm/freem.
 1.4.2.2  21-Mar-2020  martin Pull up following revision(s) (requested by isaki in ticket #794):

sys/dev/audio/audiodef.h: revision 1.10
sys/dev/audio/audio.c: revision 1.56 (via patch)
sys/dev/audio/audio.c: revision 1.57
sys/dev/audio/audiovar.h: revision 1.8
sys/dev/audio/audio.c: revision 1.38

Remove obsoleted comment.

Prevent a race between audiodetach and fileops methods using psref(9).
Fix PR kern/54427.
Thank you so much riastradh@

Release memories on audiobellclose.
It's rest of the last commit.
 1.4.2.1  06-Oct-2019  martin Pull up following revision(s) (requested by isaki in ticket #285):

sys/dev/audio/audiovar.h: revision 1.5
sys/dev/audio/audio.c: revision 1.30

Fix lock assertion on async I/O mode.
psignal() must be called without any spin locks.
Thanks maxv@!
 1.5.2.2  29-Feb-2020  ad Sync with head.
 1.5.2.1  17-Jan-2020  ad Sync with head.

RSS XML Feed