History log of /src/sys/dev/ebus/cs4231_ebus.c |
Revision | | Date | Author | Comments |
1.39 |
| 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.38 |
| 16-Mar-2019 |
isaki | branches: 1.38.2; Use C99 style struct initializer to audio_hw_if.
|
1.37 |
| 02-May-2017 |
martin | branches: 1.37.10; Make it compilable with AUDIODEBUG
|
1.36 |
| 24-Jan-2017 |
martin | branches: 1.36.4; cs4231_ebus_round_blocksize: never return 0 as blocksize
|
1.35 |
| 23-Nov-2011 |
jmcneill | branches: 1.35.8; 1.35.26; 1.35.30; 1.35.34; Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From the original ad-audiomp branch notes:
Add MP locking to the audio drivers.
Making the audio drivers MP safe is necessary before efforts can be made to make the VM system MP safe.
The are two locks per device instance, an ISR lock and a character device lock. The ISR lock replaces calls to splaudio()/splx(), and will be held across calls to device methods which were called at splaudio() before (e.g. trigger_output). The character device lock is held across calls to nearly all of the methods, excluding some only used for initialization, e.g. get_locks.
Welcome to 5.99.57.
|
1.34 |
| 02-Jun-2011 |
christos | branches: 1.34.2; 1.34.4; split audiocs
|
1.33 |
| 12-May-2009 |
cegger | branches: 1.33.4; 1.33.6; 1.33.10; struct device * -> device_t, no functional changes intended.
|
1.32 |
| 12-May-2009 |
cegger | struct cfdata * -> cfdata_t, no functional changes intended.
|
1.31 |
| 31-Jan-2009 |
martin | branches: 1.31.2; Make it attach on JavaStation KRUPS again
|
1.30 |
| 06-Jan-2009 |
mrg | use the prom addresses except on MSIIEP.
this probably works on SB2000 now.
|
1.29 |
| 17-Dec-2008 |
cegger | make this compile
|
1.28 |
| 16-Dec-2008 |
christos | replace bitmask_snprintf(9) with snprintb(3)
|
1.27 |
| 11-Dec-2008 |
mrg | also attach if the "compatible" property matches, as seen on sb2000.
|
1.26 |
| 29-Apr-2008 |
ad | branches: 1.26.6; 1.26.8; Replicate sbus fixes for PR kern/37540.
|
1.25 |
| 08-Apr-2008 |
cegger | branches: 1.25.2; 1.25.4; use aprint_*_dev and device_xname
|
1.24 |
| 03-Dec-2007 |
ad | branches: 1.24.14; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
1.23 |
| 19-Oct-2007 |
ad | branches: 1.23.2; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.22 |
| 15-Oct-2006 |
martin | branches: 1.22.6; 1.22.8; 1.22.22; 1.22.24; 1.22.28; Add missing initializer
|
1.21 |
| 14-May-2006 |
elad | branches: 1.21.8; 1.21.10; integrate kauth.
|
1.20 |
| 29-Mar-2006 |
thorpej | Use device_private().
|
1.19 |
| 11-Dec-2005 |
christos | branches: 1.19.4; 1.19.6; 1.19.8; 1.19.10; 1.19.12; merge ktrace-lwp.
|
1.18 |
| 27-Feb-2005 |
perry | branches: 1.18.4; nuke trailing whitespace
|
1.17 |
| 11-Jan-2005 |
kent | branches: 1.17.2; 1.17.4; ansify and KNF
|
1.16 |
| 11-Jan-2005 |
kent | fix compilation errors
|
1.15 |
| 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.14 |
| 29-Oct-2004 |
yamt | branches: 1.14.2; constify audio_hw_if, midi_hw_if, and radio_hw_if.
|
1.13 |
| 10-Sep-2003 |
uwe | Use EBDMA_BURST_SIZE_16. Introduce EBus specific round_blocksize to make block size multiple of 16 words. No point in using round_buffersize that returns the argument unchanged, so just NULL it in audio_hw_if.
|
1.12 |
| 14-Jul-2003 |
lukem | add missing __KERNEL_RCSID()
|
1.11 |
| 03-May-2003 |
wiz | branches: 1.11.2; DMA, not dma nor Dma.
|
1.10 |
| 10-Dec-2002 |
pk | Remove the `flags' argument from bus_intr_establish().
|
1.9 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.8 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.7 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.6 |
| 04-Apr-2002 |
uwe | branches: 1.6.6; Prettify error message.
|
1.5 |
| 22-Mar-2002 |
martin | branches: 1.5.2; Fix some handle/tag confusion. This makes it compile on sparc64 again.
Since sparc ignores tag's (/brick sparc) this slipped through when testing on sparc.
|
1.4 |
| 21-Mar-2002 |
eeh | Do not even bother trying to use the mappings provided by the PROM.
|
1.3 |
| 21-Mar-2002 |
uwe | Drop BUS_SPACE_MAP_LINEAR and properly bus_space_*-ify this so that it uses accessors. Requested by eeh.
|
1.2 |
| 12-Mar-2002 |
uwe | Fix whitespace nits (oops).
|
1.1 |
| 12-Mar-2002 |
uwe | Rework the driver to add EBus DMA support and improve APC DMA support. Audio-related stuff is left almost intact.
* support audiocs at ebus playback and capture tested on krups and u5 (thanks, martin) * make first attempt at supporting audiocs at sbus capture * nb: full-duplex is not tested * while here, fix CSAUDIO_MONITOR_MUTE to be of CSAUDIO_MONITOR_CLASS i.e. outputs.monitor.mute -> monitor.monitor.mute
Ok by pk, eeh.
|
1.5.2.5 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.5.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.5.2.3 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
1.5.2.2 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.5.2.1 |
| 22-Mar-2002 |
nathanw | file cs4231_ebus.c was added on branch nathanw_sa on 2002-04-01 07:45:12 +0000
|
1.6.6.3 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.6.6.2 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.6.6.1 |
| 04-Apr-2002 |
jdolecek | file cs4231_ebus.c was added on branch kqueue on 2002-06-23 17:46:00 +0000
|
1.11.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.11.2.5 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.11.2.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.11.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.11.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.11.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.14.2.1 |
| 09-Jan-2005 |
kent | audio_hw_if change * make open() and close() optional * add int (AUMODE_PLAY or AUMODE_RECORD) and audio_params_t parameters to round_blocksize()
|
1.17.4.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.17.2.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.18.4.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.18.4.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.18.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.18.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.19.12.1 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.19.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.19.8.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.19.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.19.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.21.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.21.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.22.28.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.22.24.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.22.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.22.22.2 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.22.22.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.22.8.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.22.6.1 |
| 27-Feb-2007 |
ad | Add MP locking for audio drivers.
|
1.23.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.24.14.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.24.14.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.25.4.3 |
| 16-May-2009 |
yamt | sync with head
|
1.25.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.25.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.25.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.26.8.2 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.26.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.26.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.31.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.33.10.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.33.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.33.4.1 |
| 12-Jun-2011 |
rmind | sync with head
|
1.34.4.4 |
| 23-Nov-2011 |
macallan | initialize locks now this works on my U60
|
1.34.4.3 |
| 22-Nov-2011 |
jmcneill | get rid of unused 'powerstate' callback in audio_hw_if
|
1.34.4.2 |
| 20-Nov-2011 |
mrg | complete the port to audiomp: don't forget to take sc_intr_lock in the hardware interrupt routines.
|
1.34.4.1 |
| 20-Nov-2011 |
mrg | make audiocs(4) compile. i don't have anything handy to actually test this easily, but this was just updating the alloc/free to kmem and hooking into ad1848_get_locks().
|
1.34.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.35.34.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.35.30.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.35.26.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.35.26.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.35.8.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.36.4.1 |
| 11-May-2017 |
pgoyette | Sync with HEAD
|
1.37.10.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.38.2.2 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.38.2.1 |
| 21-Apr-2019 |
isaki | Adapt ad1848/cs4231 families to audio2.
|