| History log of /src/sys/dev/ic/msm6258var.h | 
    | Revision |  | Date | Author | Comments | 
| 1.11 |  | 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.10 |  | 02-Sep-2017 | isaki | branches:  1.10.4;  1.10.8; Revert previous local conversion for vs(4).
 
 | 
| 1.9 |  | 05-Aug-2017 | isaki | vs(4) became to able to play audio again. At the moment the encoding conversion using set_params() does
 not seem to work for me.  So vs(4) uses local conversion to/from
 ADPCM instead of it.  But this should be a temporary work.
 XXX The playback quality is very poor compared to before...
 XXX Recording is not tested.
 
 | 
| 1.8 |  | 16-Oct-2011 | isaki | branches:  1.8.30; Switch to 2-clause license.
 
 | 
| 1.7 |  | 11-Dec-2005 | christos | merge ktrace-lwp. 
 | 
| 1.6 |  | 10-Jan-2005 | kent | merge kent-audio1 branch, which introduces audio filter pipeline to the MI audio framework
 
 
 Summary of changes:
 
 * struct audio_params
 - remove sw_code, factor, factor_denom, hw_sample_rate,
 hw_encoding ,hw_precision, and hw_channels.  Conversion information
 is conveyed by stream_filter_list_t.
 - change the type of sample_rate: u_long -> u_int
 - add `validbits,' which represents the valid data size in
 precision bits.  It is required in order to distinguish 24/32bit
 from 24/24bit or 32/32bit.
 
 * audio_hw_if
 - add two parameters to set_params()
 stream_filter_list_t *pfil, stream_filter_list *rfil
 A HW driver should set filter recipes for requested formats
 - constify audio_params parameters of trigger_output() and
 trigger_input().  They represent audio formats for the hardware.
 - make open() and close() optional
 - add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters
 to round_blocksize()
 
 * sw_code is replaced with stream_filter_t.
 stream_filer_t converts audio data in an input buffer and writes
 into another output buffer unlike sw_code, which converts data in
 single buffer.
 converters in dev/auconv.c, dev/mulaw.c, dev/aurateconv.c,
 dev/tc/bba.c, dev/ic/msm6258.c, and arch/arm/iomd/vidcaudio.c are
 reimplemented as stream_filter_t
 
 * MI audio
 - audiosetinfo() builds filter pipelines from stream_filter_list_t
 filled by audio_hw_if::set_params()
 - audiosetinfo() returns with EINVAL if mmapped and set_params()
 requests filters
 - audio_write(), audio_pint(), and audio_rint() invoke a filter
 pipeline.
 - ioctl() for FIONREAD, AUDIO_WSEEK, AUDIO_GETIOFFS,
 AUDIO_GETOOFFS, and audio_prinfo::{seek,samples} for
 AUDIO_GETINFO handle values for a buffer nearest to userland.
 
 * add `struct device *' parameter to ac97_attach()
 
 * all of audio HW drivers follow audio_hw_if and ac97 changes
 
 | 
| 1.5 |  | 07-Sep-2003 | isaki | branches:  1.5.4; Remove an advertising clause.
 
 | 
| 1.4 |  | 07-Apr-2002 | isaki | branches:  1.4.10; Rewrite encode/decode algorithm completely.
 It improves playing/recording quality greatly
 and it was almost done by Yosuke Sugahara <penta@fuchu.or.jp>.
 Thanks a lot!
 
 Add support of slinear8, slinear16_le, slinear16_be.
 
 | 
| 1.3 |  | 02-Apr-2002 | isaki | initialize codec variables every open(). 
 | 
| 1.2 |  | 16-Mar-2002 | isaki | Fix mis-increment bug in converter msm6258_ulinear8_to_adpcm(). This fix needs factor_denom.
 
 | 
| 1.1 |  | 02-May-2001 | minoura | branches:  1.1.2;  1.1.4; Software codec for Oki MSM6258 voice synthesizer.
 Recording untested.
 
 | 
| 1.1.4.1 |  | 23-Jun-2002 | jdolecek | catch up with -current on kqueue branch 
 | 
| 1.1.2.4 |  | 17-Apr-2002 | nathanw | Catch up to -current. 
 | 
| 1.1.2.3 |  | 01-Apr-2002 | nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
 
 | 
| 1.1.2.2 |  | 21-Jun-2001 | nathanw | Catch up to -current. 
 | 
| 1.1.2.1 |  | 02-May-2001 | nathanw | file msm6258var.h was added on branch nathanw_sa on 2001-06-21 20:02:58 +0000 
 | 
| 1.4.10.4 |  | 17-Jan-2005 | skrll | Sync with HEAD. 
 | 
| 1.4.10.3 |  | 21-Sep-2004 | skrll | Fix the sync with head I botched. 
 | 
| 1.4.10.2 |  | 18-Sep-2004 | skrll | Sync with HEAD. 
 | 
| 1.4.10.1 |  | 03-Aug-2004 | skrll | Sync with HEAD 
 | 
| 1.5.4.1 |  | 03-Jan-2005 | kent | adopt the filter pipeline framework 
 | 
| 1.8.30.1 |  | 28-Aug-2017 | skrll | Sync with HEAD 
 | 
| 1.10.8.1 |  | 21-Apr-2019 | isaki | Adapt to audio2. 
 | 
| 1.10.4.1 |  | 10-Jun-2019 | christos | Sync with HEAD 
 |