Up to [cvs.NetBSD.org] / src / sys / dev
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.68.4.1, Mon Jun 10 22:07:04 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.68: +1 -1
lines
FILE REMOVED
Sync with HEAD
Revision 1.69, Wed May 8 13:40:17 2019 UTC (4 years, 10 months ago) by isaki
Branch: MAIN
CVS Tags: thorpej-futex-base,
phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
bouyer-xenpvh,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm,
ad-namecache-base3,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base,
ad-namecache,
HEAD
Changes since 1.68: +1 -1
lines
FILE REMOVED
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
Revision 1.68.8.2, Fri May 3 06:29:05 2019 UTC (4 years, 10 months ago) by isaki
Branch: isaki-audio2
Changes since 1.68.8.1: +0 -0
lines
FILE REMOVED
Remove dev/audiovar.h. It already have been just a link to dev/audio/audiovar.h in this branch.
Revision 1.68.8.1 / (download) - annotate - [select for diffs], Sun Apr 21 04:28:59 2019 UTC (4 years, 11 months ago) by isaki
Branch: isaki-audio2
Changes since 1.68: +1 -299
lines
Diff to previous 1.68 (colored)
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.
Revision 1.55.2.6 / (download) - annotate - [select for diffs], Mon Apr 16 14:11:44 2018 UTC (5 years, 11 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1
Changes since 1.55.2.5: +3 -3
lines
Diff to previous 1.55.2.5 (colored) to branchpoint 1.55 (colored) next main 1.56 (colored)
Pull up following revision(s) (requested by nat in ticket #759): sys/dev/audio.c: revision 1.367 sys/dev/audio.c: revision 1.369 sys/dev/audio.c: revision 1.376 (patch) sys/dev/audio.c: revision 1.377 (patch) sys/dev/audio.c: revision 1.378 sys/dev/audio.c: revision 1.382 (patch) sys/dev/audio.c: revision 1.383 (patch) sys/dev/audio.c: revision 1.384 sys/dev/audio.c: revision 1.388 sys/dev/audio.c: revision 1.389 sys/dev/audio.c: revision 1.395 sys/dev/audio.c: revision 1.396 (patch) sys/dev/audio.c: revision 1.397 sys/dev/audio.c: revision 1.403 sys/dev/audio.c: revision 1.451 sys/dev/audio.c: revision 1.452 sys/dev/audiovar.h: revision 1.59 (patch) sys/dev/aurateconv.c: revision 1.21 (patch) sys/dev/auconv.c: revision 1.31 (patch) sys/dev/audiovar.h: revision 1.60 (patch) Broadcast all conditional variables if in being deactivated so no readers or writers get stuck. Fix a panic caused by opening pad(4)'s mixer before the corresponding audio device has attached. Addresses PR kern/52424. Improve audio_set_vchan_defaults(). - Correct confused input/output parameters. - Remove sc->{sc_channels, sc_precision, sc_frequency}. They are the same as sc->sc_vchan_params.{channels, precision, sample_rate}. The input parameter of audio_set_vchan_defaults() is now only sc->sc_vchan_params. Fix PR kern/52437 const-ify. 0 -> NULL in audioattach() "bits" sounds better than "name" for argument name. I feel expression (name / NBBY) a little strange. The audio module will now compile with WARNS=5. Typo in debug message. Remove a duplicated line. Add missing initialization of sc_rfilters in audioattach(). Remove dead codes. sc->sc_opens never changes in this loop and as a result of previous sc_audiochan cleanup "sc_opens == 0" is the same as "sc_audiochan is empty". Clean up audio_allocbufs(). As a result of sc_audiochan cleanup, it is easy to access sc_hwvc. Clean up audio_open(). As a result of sc_audiochan cleanup, this loop is the same as last + 1. hw_if->set_params is mandatory, so it will never be NULL. CID-1427745: kill possible buffer overflows. Revert my wrong r1.380 and add a comment instead.
Revision 1.55.2.5 / (download) - annotate - [select for diffs], Mon Jan 15 00:08:55 2018 UTC (6 years, 2 months ago) by snj
Branch: netbsd-8
Changes since 1.55.2.4: +6 -10
lines
Diff to previous 1.55.2.4 (colored) to branchpoint 1.55 (colored)
Pull up following revision(s) (requested by nat in ticket #489): share/man/man4/audio.4: 1.81-1.82 sys/dev/audio.c: 1.376 via patch, 1.407-1.413, 1.415-1.440, 1.441 via patch, 1.443-1.450 sys/dev/audiovar.h: 1.59 via patch, 1.65-1.68 Improve audio_set_vchan_defaults(). - Correct confused input/output parameters. - Remove sc->{sc_channels, sc_precision, sc_frequency}. They are the same as sc->sc_vchan_params.{channels, precision, sample_rate}. The input parameter of audio_set_vchan_defaults() is now only sc->sc_vchan_params. Fix PR kern/52437 Move play/rec mix ring buffers into a virtual channel sc_mixring. NFCI. Call audio_mix for a third time - thus ensuring there is a block of data in the mix ring before the audio interrupt occurs. This addresses the instability seen in the audio atf tests. Improve logic in audio_initbufs(). No functional changes intended. Ensure proper use of sc_opens (play back) and sc_recopens (recording). Fix logic for /dev/sound so audiosetinfo is only called once. These changes are to ensure that init_output/input is only called once for the respective function play back or recording. For multiple recording or plack back streams init_input/output is only called once fot the first play/rec stream. This addresses PR kern/52580, PR kern/52581 and PR kern/52582 analyzed and reported by isaki@. Fix return value. fo_mmap is expected to return errno on error. Fix return value. fo_poll is expected to return revents on error. Fix return value. fo_kqfilter is expected to return errno on error. This is the rest of 1.226 (10 years ago). Add latency sysctl to adjust hw blocksize and hence latency of the mixer. usage: sysctl -w hw.hdafg0.lantency="value in milliseconds" It is possible to set the latency of the mixer unless a static blocksize is configured by the underlying hardware driver (pad, vcaudio on RPI). Documentation updates to audio.4 will occur in a follow up commit. OK christos@. Ensure that the low/high water marks are at least PREFILL_BLOCKS. Independent blocksizes for virtual channels where a static blocksize is not stipulated by the underlying hw driver. This improves latency in games esp. when the stream format differs from the harware format. OK christos@. No externs in .c files! Include ioconf.h for struct cfdriver xyz_cd. round_blocksize is only used for the hardware ring buffer. All other buffers (mix ring, streams) are set to be a power of 2. This allows for consistent latency where a static blocksize is enforced by the underlying audio device driver. Ok christos@. Move calculation of sc_latency into a function. The latency of the audio device is updated on attach in the audio auto config and shown on screen. Ok christos@. Only allow blocksizes greater or equal to the calculated one. This should help applications as the blocksize obtained (AUDIO_SET/GETINFO) will work without stutter. Ok christos@. Revert commit rev 1.419 to audio.c. This should address PR kern/52685. This also means that drivers that have a static block size will have more latency at lower sample rates/precision/channels. Also audio drivers that do more than supply rounded blocksizes in their round_blocksize functions will have to be changed. Use mix ring block size in audio write, startp, and audio drain. Allow for block sizes less than hw block size. This allows for the lowest possible latency for all precision, sample rate and frequencies. This is a rework of rev 1.419. Calc latency when altering precision, frequency and channels sysctls. No need to ratify block size twice as this is done in audio_initbufs. This is a rework of rev 1.421. Revert to previous. It is necessary to use the calculated blocksize if none supplied. Tested by martin@. Blocksizes sould be rounded to a power of 2 as OSS applications need this. Tested by martin@. AU_RING_SIZE -> s.bufsize in audio_initbufs. A sysctl is now available to disable the in kernel mixer. sysctl -w hw.hdafg0.usemixer=0 There currently is a problem draining the last block with the mixer disabled. I will fix this in a follow up commit. AFAIK there will be a problem wiht vs(4) on x68k with the mixer disabled as the filters for mulaw, alaw and unsigned linear have been removed post audio mixing changes. Documentation for this sysctl variable will be made to audio.4 in a follow up commit. Ok christos@. Use mixring blocksizes in the right places when mixer is enabled. This means that x68k's vs audio works once again with sysctl usemixer=1. Tested with xm6i. Don't return EIO falsely when dealing with the hardware vc. Draining of the hardware vc on close is now possible. Plug memory leak as the mixer state does not grow or shrink when audio mixing is disabled. This avoids triggering a panic also. Improved draining function for when the mixer is and is not enabled. One block of silence is also played in audio drivers using start_output when draining the hardware, this helps playback of short (less than blocksize) samples. Improved audiostartp for when audio mixing is disabled. audio_pint improvements for when audio mixing is disabled. When audio mixing is disabled there is only the hardware vc the mix ring is not used. The harware vc is rounded to a power of two then round_blocksize is called. This improves playback and makes it possibile to use mmapped audio on usb. For the virtual stream it is required to insert silence. As these streams are not harware streams audio_pint_silence is ineffective. As audio_mix() was the only consumer of audio_pint_silence it has been removed along with sc_sil_count - which was only used by this function. Add vc to debug messages in audio_mix. Also add debug message when available data in the vc is less than the mix ring blocksize. NFC. Use correct combination of mix ring block size and vc playring used low for signalling the writer or fetching data from the vc play ring filters. When dealing with the ring buffer sc_mpr.s it is necessary to use the hwvc or mixring block sizes as they represent the final size of the data to be played back from the stream vc. When dealing with sc_pustream when there is play back filters or not one should use the vc->sc_mpr.blocksize, as this represents the amount of data before going through play back filters. This should address PR kern/52685. Speed up improvements for MIX_FUNC. As suggested by jmcneill@. Only init the mix ring if sc_usemixer is enabled as with mixing set to false the mix ring is not used. Allow the hwvc block size to be set to any amount with audio mixing disabled. Convert double block size of data though the play back filters. This is primarily for when audio mixing is disabled to stop inserting silence when there is data available. This change should have no effect when mixing is enabled as there is only 1 block of data in the mix ring. Whitespace. Only signal a pause change on a transition of a pause change. This addresses a problem found in audio/sox causing high cpu usage. Path and analysis by Onno van der Linden. Rework of play/rec threads to ensure effective use of locks. Addresses part of PR kern/52889 where the mixing thread would not exit on audio detach. Forcefully detach children of audio instances. This addresses part of PR kern/52889 as children of pad(4) were not detaching. Document the hw.driverN.latency sysctl variable. Bump date for previous. Remove superfluous Pp. Allow open of audioctl devices whilst audio is open with the mixer disabled.
Revision 1.46.8.1 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:58 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.46: +118 -49
lines
Diff to previous 1.46 (colored) next main 1.47 (colored)
update from HEAD
Revision 1.68 / (download) - annotate - [select for diffs], Wed Nov 15 04:28:45 2017 UTC (6 years, 4 months ago) by nat
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202,
phil-wifi-base,
pgoyette-compat-merge-20190127,
pgoyette-compat-base,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906,
pgoyette-compat-0728,
pgoyette-compat-0625,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315,
pgoyette-compat,
jdolecek-ncqfixes-base,
jdolecek-ncqfixes,
isaki-audio2-base
Branch point for: phil-wifi,
isaki-audio2
Changes since 1.67: +1 -2
lines
Diff to previous 1.67 (colored)
For the virtual stream it is required to insert silence. As these streams are not harware streams audio_pint_silence is ineffective. As audio_mix() was the only consumer of audio_pint_silence it has been removed along with sc_sil_count - which was only used by this function.
Revision 1.67 / (download) - annotate - [select for diffs], Tue Nov 7 01:13:19 2017 UTC (6 years, 4 months ago) by nat
Branch: MAIN
Changes since 1.66: +2 -1
lines
Diff to previous 1.66 (colored)
A sysctl is now available to disable the in kernel mixer. sysctl -w hw.hdafg0.usemixer=0 There currently is a problem draining the last block with the mixer disabled. I will fix this in a follow up commit. AFAIK there will be a problem wiht vs(4) on x68k with the mixer disabled as the filters for mulaw, alaw and unsigned linear have been removed post audio mixing changes. Documentation for this sysctl variable will be made to audio.4 in a follow up commit. Ok christos@.
Revision 1.66 / (download) - annotate - [select for diffs], Thu Oct 26 22:38:27 2017 UTC (6 years, 5 months ago) by nat
Branch: MAIN
Changes since 1.65: +2 -1
lines
Diff to previous 1.65 (colored)
Add latency sysctl to adjust hw blocksize and hence latency of the mixer. usage: sysctl -w hw.hdafg0.lantency="value in milliseconds" It is possible to set the latency of the mixer unless a static blocksize is configured by the underlying hardware driver (pad, vcaudio on RPI). Documentation updates to audio.4 will occur in a follow up commit. OK christos@. XXX pullup-8.
Revision 1.65 / (download) - annotate - [select for diffs], Sun Sep 24 23:40:41 2017 UTC (6 years, 6 months ago) by nat
Branch: MAIN
Changes since 1.64: +4 -6
lines
Diff to previous 1.64 (colored)
Move play/rec mix ring buffers into a virtual channel sc_mixring. NFCI.
Revision 1.55.2.4 / (download) - annotate - [select for diffs], Sat Sep 23 17:39:34 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-8
CVS Tags: matt-nb8-mediatek-base,
matt-nb8-mediatek
Changes since 1.55.2.3: +1 -3
lines
Diff to previous 1.55.2.3 (colored) to branchpoint 1.55 (colored)
Pull up following revision(s) (requested by isaki in ticket #285): sys/dev/audiovar.h: 1.64 sys/dev/audio.c: 1.399-1.402, 1.404-1.405 sys/dev/audio.c: 1.406 via patch Clean up mix_write(). -- Fix typo. sc_mrr -> sc_mpr for play buffer. -- Remove goto in mix_write() -- Remove meaningless sc_blkset. audio_calc_blksize() checks whether sc_blkset is set but it seems to be always cleared before calling audio_calc_blksize(). -- Don't assign sc->sc_pr/rr.blksize in audio_initbufs(). For hwvc, it is calculated in audiosetinfno(). And the user vc should not change sc->sc_pr/rr.blksize. In addition, this assignments appear twice. -- Remove duplicated code. For hwvc, audio_calc_blksize() appears soon again. For user vc, the userland format and HW format are separeted, so audio_calc_blksize() here is no longer necessary. In addition, vc->sc_mpr.blksize is already initialized in audio_open(). -- Separete sc->sc_pr/rr (mix ring) block size and hwvc->sc_mpr/mrr (hw ring) block size. Now MI audio supports(revives) device with different precision than mix ring's precision like vs(4) (4bit ADPCM).
Revision 1.55.2.3 / (download) - annotate - [select for diffs], Sat Sep 23 17:13:10 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-8
Changes since 1.55.2.2: +9 -9
lines
Diff to previous 1.55.2.2 (colored) to branchpoint 1.55 (colored)
Pull up following revision(s) (requested by isaki in ticket #278): sys/dev/audiovar.h: revision 1.61-1.62 sys/dev/audiovar.h: revision 1.63 via patch sys/dev/audio.c: revision 1.381, 1.390, 1.391, 1.393 sys/dev/audio.c: revision 1.394 via patch Use do .. while (0) for macros. -- Introduce audio_destroy_pfilters()/audio_destroy_rfilters() and use it. -- Remove dead codes. chan will never be NULL in SIMPLEQ_FOREACH. -- Move defines to the appropriate place. -- Remove mixer chan from sc_audiochan. Now sc_audiochan contains opened audio chan (and first special element) only. First I splitted sc_audiochan into sc_audiochan which has audio chan (and first special element) and sc_mixerchan which has mixer chan only. However nobody else refers this sc_mixerchan except additions to list and deletions from list. So mixer chan's list is not necessary. -- Split the first special element from sc_audiochan list. - This makes sc_audiochan a list of only open audio chan. - "SIMPLEQ_FIRST(&sc->sc_audiochan)->vc" is now "sc->hwvc". No functional changes (except one debug message).
Revision 1.55.2.2 / (download) - annotate - [select for diffs], Mon Sep 11 05:29:37 2017 UTC (6 years, 6 months ago) by snj
Branch: netbsd-8
Changes since 1.55.2.1: +7 -7
lines
Diff to previous 1.55.2.1 (colored) to branchpoint 1.55 (colored)
Pull up following revision(s) (requested by isaki in ticket #273): sys/dev/audio.c: 1.368, 1.370 sys/dev/audiovar.h: revision 1.57 Fix division by zero when precision < 8 in ifdef AUDIO_INTR_TIME. -- Improve in #ifdef AUDIO_INTR_TIME. Stop 19 years old weird #define, stop signed/unsigned mixing, use int64_t instead of (u_)long to avoid integer overflow, rearrange definitions in header, and fix indent.
Revision 1.46.26.2 / (download) - annotate - [select for diffs], Mon Aug 28 17:52:00 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.46.26.1: +38 -30
lines
Diff to previous 1.46.26.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored)
Sync with HEAD
Revision 1.64 / (download) - annotate - [select for diffs], Sun Aug 20 03:13:04 2017 UTC (6 years, 7 months ago) by isaki
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.63: +1 -3
lines
Diff to previous 1.63 (colored)
Remove meaningless sc_blkset. audio_calc_blksize() checks whether sc_blkset is set but it seems to be always cleared before calling audio_calc_blksize().
Revision 1.63 / (download) - annotate - [select for diffs], Tue Aug 15 04:42:56 2017 UTC (6 years, 7 months ago) by isaki
Branch: MAIN
Changes since 1.62: +6 -5
lines
Diff to previous 1.62 (colored)
Split the first special element from sc_audiochan list. - This makes sc_audiochan a list of only open audio chan. - "SIMPLEQ_FIRST(&sc->sc_audiochan)->vc" is now "sc->hwvc". No functional changes (except one debug message).
Revision 1.62 / (download) - annotate - [select for diffs], Sun Aug 13 05:04:08 2017 UTC (6 years, 7 months ago) by isaki
Branch: MAIN
Changes since 1.61: +2 -3
lines
Diff to previous 1.61 (colored)
Remove mixer chan from sc_audiochan. Now sc_audiochan contains opened audio chan (and first special element) only. First I splitted sc_audiochan into sc_audiochan which has audio chan (and first special element) and sc_mixerchan which has mixer chan only. However nobody else refers this sc_mixerchan except additions to list and deletions from list. So mixer chan's list is not necessary.
Revision 1.61 / (download) - annotate - [select for diffs], Sun Aug 13 04:09:27 2017 UTC (6 years, 7 months ago) by isaki
Branch: MAIN
Changes since 1.60: +4 -4
lines
Diff to previous 1.60 (colored)
Move defines to the appropriate place.
Revision 1.60 / (download) - annotate - [select for diffs], Sun Jul 30 00:47:48 2017 UTC (6 years, 7 months ago) by nat
Branch: MAIN
Changes since 1.59: +3 -3
lines
Diff to previous 1.59 (colored)
The audio module will now compile with WARNS=5.
Revision 1.59 / (download) - annotate - [select for diffs], Sat Jul 29 03:05:51 2017 UTC (6 years, 8 months ago) by isaki
Branch: MAIN
Changes since 1.58: +1 -4
lines
Diff to previous 1.58 (colored)
Improve audio_set_vchan_defaults(). - Correct confused input/output parameters. - Remove sc->{sc_channels, sc_precision, sc_frequency}. They are the same as sc->sc_vchan_params.{channels, precision, sample_rate}. The input parameter of audio_set_vchan_defaults() is now only sc->sc_vchan_params. Fix PR kern/52437
Revision 1.58 / (download) - annotate - [select for diffs], Thu Jul 27 08:42:47 2017 UTC (6 years, 8 months ago) by isaki
Branch: MAIN
Changes since 1.57: +3 -3
lines
Diff to previous 1.57 (colored)
(maybe) typo in comment.
Revision 1.57 / (download) - annotate - [select for diffs], Thu Jul 27 08:28:18 2017 UTC (6 years, 8 months ago) by isaki
Branch: MAIN
Changes since 1.56: +7 -7
lines
Diff to previous 1.56 (colored)
Improve in #ifdef AUDIO_INTR_TIME. Stop 19 years old weird #define, stop signed/unsigned mixing, use int64_t instead of (u_)long to avoid integer overflow, rearrange definitions in header, and fix indent.
Revision 1.55.2.1 / (download) - annotate - [select for diffs], Fri Jun 30 06:43:07 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-8
Changes since 1.55: +2 -2
lines
Diff to previous 1.55 (colored)
Pull up following revision(s) (requested by nat in ticket #71): sys/dev/audio.c: 1.359-1.366 sys/dev/audiovar.h: 1.56 No need to reset the audioinfo whem dealing with the hardware ring. This avoids a panic with some audio devices. Ok christos@. -- sc_iffreq -> sc_frequency. NFCI. Ok christos@. -- Allow for bigger data types to mix into to avoid overflow. -- Check hardare precision in vchan_autoconfig. Passes atf test again. -- Use pustream params when clearing the next block in the mixring. -- Check validbits against precision in vchan_autoconfig. At present validbits != precision is not supported. This change will most likely break autoconfig on vs(4), for these machines the parameters can be set to the paramaters reported at attach time via sysctl. -- Don't start playback or recording on the hw ring only stream ring buffers. -- Don't autoconfig for 24 bits precision. It does not work as yet.
Revision 1.56 / (download) - annotate - [select for diffs], Tue Jun 20 07:45:01 2017 UTC (6 years, 9 months ago) by nat
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base,
perseant-stdc-iso10646
Changes since 1.55: +2 -2
lines
Diff to previous 1.55 (colored)
sc_iffreq -> sc_frequency. NFCI. Ok christos@.
Revision 1.53.2.1 / (download) - annotate - [select for diffs], Thu May 11 02:58:38 2017 UTC (6 years, 10 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.53: +3 -1
lines
Diff to previous 1.53 (colored) next main 1.54 (colored)
Sync with HEAD
Revision 1.55 / (download) - annotate - [select for diffs], Sun May 7 08:19:39 2017 UTC (6 years, 10 months ago) by nat
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
netbsd-8-base
Branch point for: netbsd-8
Changes since 1.54: +2 -1
lines
Diff to previous 1.54 (colored)
Audio mmap now works with all devices as hw->mappage is no longer used. Audio ring buffers are now uvm objects. This was made possibile with help from christos@ and much help and mmap functions written by riastradh@.
Revision 1.54 / (download) - annotate - [select for diffs], Sat May 6 00:13:25 2017 UTC (6 years, 10 months ago) by nat
Branch: MAIN
Changes since 1.53: +2 -1
lines
Diff to previous 1.53 (colored)
Improved hw draining. Draining of hw will only complete if silence has been played in the mix ring. Must hold sc_intr_lock when gettin used value of mix ring. Clearing of the next block to be written to of the mix ring has moved into audio_mix.
Revision 1.46.30.3 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:10 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.46.30.2: +1 -2
lines
Diff to previous 1.46.30.2 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored)
Sync with HEAD
Revision 1.49.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:44 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.49: +22 -11
lines
Diff to previous 1.49 (colored) next main 1.50 (colored)
Sync with HEAD
Revision 1.53 / (download) - annotate - [select for diffs], Mon Apr 17 22:40:06 2017 UTC (6 years, 11 months ago) by nat
Branch: MAIN
CVS Tags: prg-localcount2-base1,
prg-localcount2-base,
pgoyette-localcount-20170426,
bouyer-socketcan-base1
Branch point for: prg-localcount2
Changes since 1.52: +1 -2
lines
Diff to previous 1.52 (colored)
Improved mixing function - more expensive in cycles though. hw.driverN.saturate is no longer needed and has been removed. Mixing function thanks to jmcneill@.
Revision 1.52 / (download) - annotate - [select for diffs], Mon Apr 17 20:17:08 2017 UTC (6 years, 11 months ago) by nat
Branch: MAIN
Changes since 1.51: +2 -2
lines
Diff to previous 1.51 (colored)
hw.driverN.saturate bool->integer (default 16). This means for a greater number than 16 (or user set value) the saturate function is turned off. Results in better listening if a large number of channels are in use.
Revision 1.46.30.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:27 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.46.30.1: +32 -19
lines
Diff to previous 1.46.30.1 (colored) to branchpoint 1.46 (colored)
Sync with HEAD
Revision 1.51 / (download) - annotate - [select for diffs], Mon Feb 27 23:31:00 2017 UTC (7 years ago) by mrg
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320,
jdolecek-ncq-base,
jdolecek-ncq
Changes since 1.50: +7 -1
lines
Diff to previous 1.50 (colored)
minor clean ups: - mark a bunch of local things static - export an explicit set of functions for audiobell, instead of hooking directly into the device callbacks, and avoid non-shared headers for the same prototypes - s/audioprobe/audiomatch/ - use __func__
Revision 1.50 / (download) - annotate - [select for diffs], Fri Feb 10 19:31:42 2017 UTC (7 years, 1 month ago) by nat
Branch: MAIN
Changes since 1.49: +16 -10
lines
Diff to previous 1.49 (colored)
Audio now uses fdclone, there is no longer a limitation of one audio instance per process. Virtual channels are placed in a queue, so there is no longer a compile time limit of VAUDIOCHANS. A new sysctl has been added to control multiple user access. Mixer labels on virtual channels are now prefixed by vchan. audiobell.c and audioctl have been updated to reflect these changes. Use of fdclone was posted to tech-kern@ and improvements made. Multiuser access control changes and the use of a queue were suggessted by pgoyette@
Revision 1.46.26.1 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:26 2017 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.46: +101 -39
lines
Diff to previous 1.46 (colored)
Sync with HEAD
Revision 1.49 / (download) - annotate - [select for diffs], Sun Jan 15 07:46:57 2017 UTC (7 years, 2 months ago) by isaki
Branch: MAIN
CVS Tags: nick-nhusb-base-20170204,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.48: +11 -10
lines
Diff to previous 1.48 (colored)
Fix indent in comments.
Revision 1.46.30.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:31 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.46: +98 -37
lines
Diff to previous 1.46 (colored)
Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
Revision 1.48 / (download) - annotate - [select for diffs], Wed Dec 28 02:44:59 2016 UTC (7 years, 3 months ago) by nat
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107
Changes since 1.47: +6 -1
lines
Diff to previous 1.47 (colored)
Audio device won't fail if one cannot set the common/hw format. Audio won't be able to be opened though unless a common format is configured properly. This would alow the user to change the common format via sysctls until hardware is configured. Simplification of several functions.
Revision 1.47 / (download) - annotate - [select for diffs], Thu Dec 8 10:28:44 2016 UTC (7 years, 3 months ago) by nat
Branch: MAIN
Changes since 1.46: +93 -37
lines
Diff to previous 1.46 (colored)
The audio sub-system now supports the following features as posted to tech-kern: * Simultaneous playback and mixing of multiple streams * Playback streams can be of different encoding, frequency, precision and number of channels * Simultaneous recording to different formats * One audio device per process * Sysctls to set the common format frequency, precision and channels * Independent mixer controls for recording/playback per stream * Utilizes little cpu time for multiple streams / good performance * Compatible with existing programs that use OSS/NetBSD audio * Changes to audioctl(1) to allow specifying process id for corresponding audio device
Revision 1.45.34.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:24 2012 UTC (11 years, 11 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.45: +14 -13
lines
Diff to previous 1.45 (colored) next main 1.46 (colored)
sync with head
Revision 1.46 / (download) - annotate - [select for diffs], Wed Nov 23 23:07:31 2011 UTC (12 years, 4 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
tls-maxphys-base,
tls-earlyentropy-base,
tls-earlyentropy,
rmind-smpnet-nbase,
rmind-smpnet-base,
rmind-smpnet,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
pgoyette-localcount-base,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
nick-nhusb-base-20161204,
nick-nhusb-base-20161004,
nick-nhusb-base-20160907,
nick-nhusb-base-20160529,
nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226,
nick-nhusb-base-20150921,
nick-nhusb-base-20150606,
nick-nhusb-base-20150406,
nick-nhusb-base,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
localcount-20160914,
khorben-n900,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base9,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2,
jmcneill-usbmp-base10,
jmcneill-usbmp-base,
jmcneill-usbmp,
agc-symver-base,
agc-symver
Branch point for: tls-maxphys,
pgoyette-localcount,
nick-nhusb
Changes since 1.45: +14 -13
lines
Diff to previous 1.45 (colored)
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.
Revision 1.45.36.1 / (download) - annotate - [select for diffs], Sat Nov 19 21:49:34 2011 UTC (12 years, 4 months ago) by jmcneill
Branch: jmcneill-audiomp3
Changes since 1.45: +14 -13
lines
Diff to previous 1.45 (colored) next main 1.46 (colored)
port ad-audiomp2 branch changes to 5.99.56 todo: - port ad-audiomp2 pcppi changes - these drivers need to be fixed: - emuxki - gcscaudio - hdafg - uaudio - umidi - MD audio drivers
Revision 1.45.12.2 / (download) - annotate - [select for diffs], Sun Dec 7 15:29:35 2008 UTC (15 years, 3 months ago) by ad
Branch: ad-audiomp2
Changes since 1.45.12.1: +4 -9
lines
Diff to previous 1.45.12.1 (colored) to branchpoint 1.45 (colored) next main 1.46 (colored)
- Serialize changes to filters and audio device settings while a read/write is in progress. - Fix other concurrency issues. - Convert to use kmem_alloc(). - Don't do evil NOWAIT allocations. - Don't assume sc_intr_lock is a spinlock. - Add a comment block about the locking.
Revision 1.45.12.1 / (download) - annotate - [select for diffs], Sun Dec 7 13:02:13 2008 UTC (15 years, 3 months ago) by ad
Branch: ad-audiomp2
Changes since 1.45: +12 -6
lines
Diff to previous 1.45 (colored)
Ressurect the ad-audiomp branch at request of matt@. With this commit: - core audio subsystem made MPSAFE - eap, btsco drivers made MPSAFE TODO: - midi - convert remaining drivers
Revision 1.42.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:11 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.42.6.1: +0 -7
lines
Diff to previous 1.42.6.1 (colored) to branchpoint 1.42 (colored) next main 1.43 (colored)
Sync with HEAD.
Revision 1.44.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:30 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.44: +1 -8
lines
Diff to previous 1.44 (colored) next main 1.45 (colored)
sync with head.
Revision 1.44.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:48 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.44: +1 -8
lines
Diff to previous 1.44 (colored) next main 1.45 (colored)
sync with head.
Revision 1.45 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:46 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
yamt-nfs-mp-base9,
yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
yamt-nfs-mp-base2,
yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
wrstuden-revivesa,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2,
uebayasi-xip-base1,
uebayasi-xip-base,
uebayasi-xip,
simonb-wapbl-nbase,
simonb-wapbl-base,
simonb-wapbl,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
rmind-uvmplock,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
nick-hppapmap,
netbsd-5-base,
netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
netbsd-5,
mjf-devfs2-base,
matt-premerge-20091211,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-premerge-20101231,
matt-mips64-base2,
jymxensuspend-base,
jym-xensuspend-nbase,
jym-xensuspend-base,
jym-xensuspend,
jruoho-x86intr-base,
jruoho-x86intr,
jmcneill-audiomp3-base,
hpcarm-cleanup-nbase,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
haad-dm,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2,
ad-audiomp2-base
Branch point for: yamt-pagecache,
jmcneill-audiomp3,
ad-audiomp2
Changes since 1.44: +1 -8
lines
Diff to previous 1.44 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.42.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:36 2008 UTC (15 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.42: +3 -6
lines
Diff to previous 1.42 (colored)
Sync with HEAD.
Revision 1.44 / (download) - annotate - [select for diffs], Tue Apr 1 19:25:53 2008 UTC (15 years, 11 months ago) by drochner
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base
Branch point for: yamt-pf42,
yamt-nfs-mp
Changes since 1.43: +1 -4
lines
Diff to previous 1.43 (colored)
g/c unused softc members
Revision 1.42.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:15:11 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.42: +3 -3
lines
Diff to previous 1.42 (colored) next main 1.43 (colored)
sync with head.
Revision 1.39.18.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:35 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.39.18.1: +3 -3
lines
Diff to previous 1.39.18.1 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)
sync with HEAD
Revision 1.32.10.4 / (download) - annotate - [select for diffs], Mon Mar 17 09:14:37 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.32.10.3: +3 -3
lines
Diff to previous 1.32.10.3 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)
sync with head.
Revision 1.43 / (download) - annotate - [select for diffs], Tue Mar 4 18:23:44 2008 UTC (16 years ago) by cube
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
ad-socklock-base1
Changes since 1.42: +3 -3
lines
Diff to previous 1.42 (colored)
Split device_t and softc for audio(4), and other related cosmetic changes.
Revision 1.32.10.3 / (download) - annotate - [select for diffs], Mon Jan 21 09:42:22 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.32.10.2: +10 -2
lines
Diff to previous 1.32.10.2 (colored) to branchpoint 1.32 (colored)
sync with head
Revision 1.39.18.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:52:10 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.39: +10 -2
lines
Diff to previous 1.39 (colored)
sync with HEAD
Revision 1.39.26.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:45:56 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.39: +10 -2
lines
Diff to previous 1.39 (colored) next main 1.40 (colored)
Sync with head.
Revision 1.40.2.1 / (download) - annotate - [select for diffs], Thu Dec 13 21:55:21 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.40: +4 -1
lines
Diff to previous 1.40 (colored) next main 1.41 (colored)
Sync with HEAD
Revision 1.42 / (download) - annotate - [select for diffs], Thu Dec 13 14:40:37 2007 UTC (16 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: vmlocking2-base3,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
matt-armv6-base,
hpcarm-cleanup-base,
bouyer-xeni386-nbase,
bouyer-xeni386-base
Branch point for: mjf-devfs2,
keiichi-mipv6
Changes since 1.41: +2 -1
lines
Diff to previous 1.41 (colored)
Don't count poll(2) and select(2) as device activity. Don't activate the device on write(2) if it is suspended and was not idle.
Revision 1.41 / (download) - annotate - [select for diffs], Thu Dec 13 14:02:53 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: MAIN
Changes since 1.40: +3 -1
lines
Diff to previous 1.40 (colored)
When resuming the audio device, call audiosetinfo with the last known good parameters. Fixes an issue with suspending the audio device while playback is paused.
Revision 1.39.28.1 / (download) - annotate - [select for diffs], Tue Dec 11 15:22:26 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-kmem
Changes since 1.39: +7 -2
lines
Diff to previous 1.39 (colored) next main 1.40 (colored)
sync with head.
Revision 1.40 / (download) - annotate - [select for diffs], Sun Dec 9 20:27:52 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
cube-autoconf-base,
cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.39: +7 -2
lines
Diff to previous 1.39 (colored)
Merge jmcneill-pm branch.
Revision 1.39.16.3 / (download) - annotate - [select for diffs], Tue Nov 6 14:27:11 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.39.16.2: +3 -2
lines
Diff to previous 1.39.16.2 (colored) to branchpoint 1.39 (colored) next main 1.40 (colored)
Refactor PNP API: - Make suspend/resume directly a device functionality. It consists of three layers (class logic, device logic, bus logic), all of them being optional. This replaces D0/D3 transitions. - device_is_active returns true if the device was not disabled and was not suspended (even partially), device_is_enabled returns true if the device was enabled. - Change pnp_global_transition into pnp_system_suspend and pnp_system_resume. Before running any suspend/resume handlers, check that all currently attached devices support power management and bail out otherwise. The latter is not done for the shutdown/panic case. - Make the former bus-specific generic network handlers a class handler. - Make PNP message like volume up/down/toogle PNP events. Each device can register what events they are interested in and whether the handler should be global or not. - Introduce device_active API for devices to mark themselve in use from either the system or the device. Use this to implement the idle handling for audio and input devices. This is intended to replace most ad-hoc watchdogs as well. - Fix somes situations in which audio resume would lose mixer settings. - Make USB host controllers better deal with suspend in the light of shared interrupts. - Flush filesystem cache on suspend. - Flush disk caches on suspend. Put ATA disks into standby on suspend as well. - Adopt drivers to use the new PNP API. - Fix a critical bug in the generic cardbus layer that made D0->D3 break. - Fix ral(4) to set if_stop. - Convert cbb(4) to the new PNP API. - Apply the PCI Express SCI fix on resume again.
Revision 1.39.16.2 / (download) - annotate - [select for diffs], Thu Oct 18 02:07:19 2007 UTC (16 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.39.16.1: +4 -1
lines
Diff to previous 1.39.16.1 (colored) to branchpoint 1.39 (colored)
Improve PNP audio power management. Instead of starting an idle timer to power down the audio device on last close, allow the pm policy to power down the device while it's still open. Since X mixers typically poll /dev/mixer with AUDIO_GET_INFO ioctls, we need to avoid resetting the idle timer when these applications are running. As a result, introduce audio_mixer_{capture,restore} in MI audio and use them in its power handler. When an audio device is asleep, we simply return cached values on AUDIO_GET_INFO ioctls. A nice side effect is that MI audio now properly captures and restores mixer values across hw device suspend/resume. XXX: I've added locking in pnp_power(), but I'm using mutex_owned() in a way that mutex(9) claims I shouldn't be doing. Needs to be revisited.
Revision 1.39.16.1 / (download) - annotate - [select for diffs], Fri Aug 3 22:17:13 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.39: +3 -2
lines
Diff to previous 1.39 (colored)
Pull in power management changes from private branch.
Revision 1.38.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:53:48 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.38: +11 -11
lines
Diff to previous 1.38 (colored) next main 1.39 (colored)
- sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.39.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 14:15:57 2007 UTC (17 years, 1 month ago) by ad
Branch: ad-audiomp
Changes since 1.39: +10 -4
lines
Diff to previous 1.39 (colored) next main 1.40 (colored)
Add MP locking for audio drivers.
Revision 1.32.10.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:09:52 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.32.10.1: +13 -11
lines
Diff to previous 1.32.10.1 (colored) to branchpoint 1.32 (colored)
sync with head.
Revision 1.39 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:58 2007 UTC (17 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
yamt-x86pmap-base2,
yamt-x86pmap-base,
yamt-x86pmap,
yamt-kmem-base,
yamt-idlelwp-base8,
vmlocking2-base2,
vmlocking2-base1,
vmlocking-nbase,
vmlocking-base,
vmlocking,
thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
reinoud-bufcleanup,
nick-csl-alignment-base5,
nick-csl-alignment-base,
nick-csl-alignment,
mjf-ufs-trans-base,
mjf-ufs-trans,
mjf-devfs,
matt-mips64-base,
matt-mips64,
matt-armv6-prevmlocking,
jmcneill-pm-base,
jmcneill-base,
hpcarm-cleanup,
bouyer-xenamd64-base2,
bouyer-xenamd64-base,
bouyer-xenamd64,
ad-audiomp-base
Branch point for: yamt-kmem,
vmlocking2,
matt-armv6,
jmcneill-pm,
ad-audiomp
Changes since 1.38: +11 -11
lines
Diff to previous 1.38 (colored)
Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
Revision 1.38 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:26 2007 UTC (17 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-idlelwp
Changes since 1.37: +3 -1
lines
Diff to previous 1.37 (colored)
Merge newlock2 to head.
Revision 1.37.4.1 / (download) - annotate - [select for diffs], Sat Jan 27 00:24:52 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.37: +3 -1
lines
Diff to previous 1.37 (colored) next main 1.38 (colored)
Don't call selnotify() or psignal() while above IPL_VM: defer them to a soft interrupt.
Revision 1.33.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:49:09 2006 UTC (17 years, 6 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.33: +7 -1
lines
Diff to previous 1.33 (colored) next main 1.34 (colored)
sync with head
Revision 1.36.4.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:49:17 2006 UTC (17 years, 8 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.36: +3 -1
lines
Diff to previous 1.36 (colored) next main 1.37 (colored)
Merge from HEAD.
Revision 1.33.8.3 / (download) - annotate - [select for diffs], Mon Jun 26 12:50:37 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.33.8.2: +3 -1
lines
Diff to previous 1.33.8.2 (colored) to branchpoint 1.33 (colored) next main 1.34 (colored)
sync with head.
Revision 1.36.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 03:39:48 2006 UTC (17 years, 9 months ago) by chap
Branch: chap-midi
Changes since 1.36: +3 -1
lines
Diff to previous 1.36 (colored) next main 1.37 (colored)
Complete a sync sys/ with head.
Revision 1.32.10.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:02:11 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.32: +7 -1
lines
Diff to previous 1.32 (colored)
sync with head.
Revision 1.37 / (download) - annotate - [select for diffs], Mon Jun 19 10:19:08 2006 UTC (17 years, 9 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
yamt-splraiseipl-base2,
yamt-splraiseipl-base,
yamt-splraiseipl,
yamt-pdpolicy-base9,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
yamt-pdpolicy-base6,
wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
rpaulo-netinet-merge-pcb-base,
newlock2-nbase,
newlock2-base,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
netbsd-4,
matt-nb4-arm-base,
matt-nb4-arm,
chap-midi-nbase,
chap-midi-base,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: newlock2
Changes since 1.36: +3 -1
lines
Diff to previous 1.36 (colored)
Halt input/output on soft suspend if currently running, and restore them on soft resume.
Revision 1.34.4.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:07 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.34: +4 -1
lines
Diff to previous 1.34 (colored) next main 1.35 (colored)
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
Revision 1.33.8.2 / (download) - annotate - [select for diffs], Wed May 24 10:57:36 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.33.8.1: +4 -1
lines
Diff to previous 1.33.8.1 (colored) to branchpoint 1.33 (colored)
sync with head.
Revision 1.34.2.2 / (download) - annotate - [select for diffs], Thu May 11 23:28:05 2006 UTC (17 years, 10 months ago) by elad
Branch: elad-kernelauth
Changes since 1.34.2.1: +227 -0
lines
Diff to previous 1.34.2.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)
sync with head
Revision 1.33.6.1 / (download) - annotate - [select for diffs], Sat Apr 22 11:38:45 2006 UTC (17 years, 11 months ago) by simonb
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.33: +5 -1
lines
Diff to previous 1.33 (colored) next main 1.34 (colored)
Sync with head.
Revision 1.32.18.2 / (download) - annotate - [select for diffs], Wed Apr 19 21:01:00 2006 UTC (17 years, 11 months ago) by tron
Branch: netbsd-3-0
CVS Tags: netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE
Changes since 1.32.18.1: +4 -2
lines
Diff to previous 1.32.18.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)
Pull up following revision(s) (requested by jmcneill in ticket #1281): sys/dev/audio_if.h: revision 1.61 sys/dev/audiovar.h: revision 1.36 sys/dev/audio.c: revision 1.204 via patch Don't use simple_locks; we can't hold them while calling malloc and friends.
Revision 1.32.8.2 / (download) - annotate - [select for diffs], Wed Apr 19 20:59:13 2006 UTC (17 years, 11 months ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1
Changes since 1.32.8.1: +4 -2
lines
Diff to previous 1.32.8.1 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)
Pull up following revision(s) (requested by jmcneill in ticket #1281): sys/dev/audio_if.h: revision 1.61 sys/dev/audiovar.h: revision 1.36 sys/dev/audio.c: revision 1.204 via patch Don't use simple_locks; we can't hold them while calling malloc and friends.
Revision 1.36 / (download) - annotate - [select for diffs], Wed Apr 19 14:10:59 2006 UTC (17 years, 11 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5,
simonb-timecounters-base,
gdamore-uart-base,
elad-kernelauth-base
Branch point for: gdamore-uart,
chap-midi
Changes since 1.35: +4 -2
lines
Diff to previous 1.35 (colored)
Don't use simple_locks; we can't hold them while calling malloc and friends.
Revision 1.32.18.1 / (download) - annotate - [select for diffs], Tue Apr 18 21:15:07 2006 UTC (17 years, 11 months ago) by tron
Branch: netbsd-3-0
Changes since 1.32: +2 -1
lines
Diff to previous 1.32 (colored)
Pull up following revision(s) (requested by jmcneill in ticket #1277): sys/dev/audio_if.h: revision 1.60 via patch sys/dev/audiovar.h: revision 1.35 via patch sys/dev/audio.c: revision 1.203 via patch Protect audio_write's filter graph from being modified in the middle of a write. Fixes the 'audioctl of death' problem (PR#32563).
Revision 1.32.8.1 / (download) - annotate - [select for diffs], Tue Apr 18 21:12:46 2006 UTC (17 years, 11 months ago) by tron
Branch: netbsd-3
Changes since 1.32: +2 -1
lines
Diff to previous 1.32 (colored)
Pull up following revision(s) (requested by jmcneill in ticket #1277): sys/dev/audio_if.h: revision 1.60 via patch sys/dev/audiovar.h: revision 1.35 via patch sys/dev/audio.c: revision 1.203 via patch Protect audio_write's filter graph from being modified in the middle of a write. Fixes the 'audioctl of death' problem (PR#32563).
Revision 1.35 / (download) - annotate - [select for diffs], Tue Apr 18 19:15:27 2006 UTC (17 years, 11 months ago) by jmcneill
Branch: MAIN
Changes since 1.34: +2 -1
lines
Diff to previous 1.34 (colored)
Protect audio_write's filter graph from being modified in the middle of a write. Fixes the 'audioctl of death' problem (PR#32563).
Revision 1.33.8.1 / (download) - annotate - [select for diffs], Mon Mar 13 09:07:08 2006 UTC (18 years ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.33: +2 -1
lines
Diff to previous 1.33 (colored)
sync with head.
Revision 1.34.2.1, Tue Mar 7 15:17:47 2006 UTC (18 years ago) by elad
Branch: elad-kernelauth
Changes since 1.34: +0 -224
lines
FILE REMOVED
file audiovar.h was added on branch elad-kernelauth on 2006-05-11 23:28:05 +0000
Revision 1.34 / (download) - annotate - [select for diffs], Tue Mar 7 15:17:47 2006 UTC (18 years ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pdpolicy-base4,
yamt-pdpolicy-base3,
yamt-pdpolicy-base2,
peter-altq-base
Branch point for: peter-altq,
elad-kernelauth
Changes since 1.33: +2 -1
lines
Diff to previous 1.33 (colored)
Add a 'powerstate' callback to audio_hw_if, to allow hw drivers to power themselves down when not in use.
Revision 1.33 / (download) - annotate - [select for diffs], Sun Dec 11 12:20:53 2005 UTC (18 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-uio_vmspace,
yamt-pdpolicy-base
Branch point for: yamt-pdpolicy,
simonb-timecounters,
rpaulo-netinet-merge-pcb
Changes since 1.32: +1 -1
lines
Diff to previous 1.32 (colored)
merge ktrace-lwp.
Revision 1.32.2.3 / (download) - annotate - [select for diffs], Sun Apr 10 10:12:25 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.32.2.2: +6 -1
lines
Diff to previous 1.32.2.2 (colored) to branchpoint 1.32 (colored) next main 1.33 (colored)
add PCM mixing filter
Revision 1.32.2.2 / (download) - annotate - [select for diffs], Sun Feb 13 04:36:16 2005 UTC (19 years, 1 month ago) by kent
Branch: kent-audio2
Changes since 1.32.2.1: +3 -5
lines
Diff to previous 1.32.2.1 (colored) to branchpoint 1.32 (colored)
* add AUDIO_PROP_PLAY and AUDIO_PROP_RECORD for internal use XXX: need to modify all of audio HW drivers. * At the first open(), open the HW as play and record mode even if the open flags contains either FREAD or FWRITE. * remove AUMODE_READ and AUMODE_WRITE, and use FREAD and FWRITE instead.
Revision 1.32.2.1 / (download) - annotate - [select for diffs], Fri Feb 4 14:53:53 2005 UTC (19 years, 1 month ago) by kent
Branch: kent-audio2
Changes since 1.32: +9 -1
lines
Diff to previous 1.32 (colored)
add entiries for cloned fd
Revision 1.28.2.5 / (download) - annotate - [select for diffs], Mon Jan 17 19:30:39 2005 UTC (19 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.28.2.4: +75 -82
lines
Diff to previous 1.28.2.4 (colored) next main 1.29 (colored)
Sync with HEAD.
Revision 1.32 / (download) - annotate - [select for diffs], Mon Jan 10 22:01:37 2005 UTC (19 years, 2 months ago) by kent
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
yamt-vop,
yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
yamt-km-base4,
yamt-km-base3,
yamt-km-base2,
yamt-km-base,
yamt-km,
thorpej-vnode-attr-base,
thorpej-vnode-attr,
netbsd-3-base,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
ktrace-lwp-base,
kent-audio2-base
Branch point for: yamt-lazymbuf,
netbsd-3-0,
netbsd-3,
kent-audio2
Changes since 1.31: +75 -82
lines
Diff to previous 1.31 (colored)
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
Revision 1.31.2.10 / (download) - annotate - [select for diffs], Sat Jan 1 17:35:27 2005 UTC (19 years, 2 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.9: +4 -4
lines
Diff to previous 1.31.2.9 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)
* unconstfy some parameters of trigger_output() and start_output() because const pointers are harmful to unifying playing routine and recording routine in a hardware driver. * strem_filter_list_t::filters[0] represents the most hardware-side filter even for playing filter pipeline to access hardware encoding by filters[0].param.
Revision 1.31.2.9 / (download) - annotate - [select for diffs], Sat Jan 1 16:18:26 2005 UTC (19 years, 2 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.8: +3 -2
lines
Diff to previous 1.31.2.8 (colored) to branchpoint 1.31 (colored)
keeping track of number of bytes of played or recorded data in the encoding in which the kernel provides to userland.
Revision 1.31.2.8 / (download) - annotate - [select for diffs], Sat Jan 1 11:28:26 2005 UTC (19 years, 2 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.7: +5 -4
lines
Diff to previous 1.31.2.7 (colored) to branchpoint 1.31 (colored)
* remove audio_ringbuffer::used. * usedlow and usedhigh represent watermarks for the buffer near to userland. * fix incorrect implementation for kqueue filters
Revision 1.31.2.7 / (download) - annotate - [select for diffs], Wed Dec 29 19:55:16 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.6: +10 -9
lines
Diff to previous 1.31.2.6 (colored) to branchpoint 1.31 (colored)
correct usage of stream_filter_t::filters[].param
Revision 1.31.2.6 / (download) - annotate - [select for diffs], Wed Dec 29 17:37:47 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.5: +22 -22
lines
Diff to previous 1.31.2.5 (colored) to branchpoint 1.31 (colored)
change types of the followings: au_mixer_ports::isenum: u_char -> boolean_t au_mixer_ports::isdual: u_char -> boolean_t audio_softc::sc_blkset: u_char -> boolean_t audio_softc::sc_sil_start: u_char* -> uint8_t* audio_softc::sc_rbus: u_char -> boolean_t audio_softc::sc_pbus: u_char -> boolean_t audio_softc::sc_dying: u_char -> boolean_t
Revision 1.31.2.5 / (download) - annotate - [select for diffs], Wed Dec 29 13:41:58 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.4: +5 -26
lines
Diff to previous 1.31.2.4 (colored) to branchpoint 1.31 (colored)
remove old aurateconv stuff
Revision 1.31.2.4 / (download) - annotate - [select for diffs], Sun Dec 26 17:38:25 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.3: +3 -3
lines
Diff to previous 1.31.2.3 (colored) to branchpoint 1.31 (colored)
* stream_filter_t remove get_input_size() and get_output_size() for simplicity. The MI audio decides buffer sizes. * audio_softc has audio_stram_t instances instead of audio_stream_t pointers * audiosetinfo() setup filter chains, and add some helper functions The variables, cleard and modechange, are represented as boolean_t. * audio_rint() set null_fetcher so that every filter has non-null previous fetcher.
Revision 1.31.2.3 / (download) - annotate - [select for diffs], Sat Dec 25 12:24:38 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.2: +1 -18
lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored)
* audio_read() remove aurateconv/sw_code related code. It simply copies data from the last audio_stream_t instance. * audio_ioctl() FIONREAD/AUDIO_WSEEK: return the available data size of the last audio_stream_t * audio_rint() apply filters here so that FIONREAD and AUDIO_WSEEK can return correct value. * audio_softc remove sc_input_fragment_length, sc_input_fragment, sc_pconvbuffer_size, sc_pconvbuffer, sc_pconv, sc_rconvbuffer_size, sc_rconfbuffer_begin, sc_rconvbuffer_end, sc_rconvbuffer, sc_rconv. * audio_if.h add audio_stream_get_used().
Revision 1.31.2.2 / (download) - annotate - [select for diffs], Sat Dec 11 16:30:11 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31.2.1: +38 -7
lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)
add audio_stream_t pointers and stream_filter_t instances to audio_softc.
Revision 1.31.2.1 / (download) - annotate - [select for diffs], Fri Dec 10 00:30:55 2004 UTC (19 years, 3 months ago) by kent
Branch: kent-audio1
Changes since 1.31: +7 -10
lines
Diff to previous 1.31 (colored)
* introduce audio_stream_t, and make audio_ringbuffer a subclass of audio_stream_t * introduce stream_fetcher_t, stream_filter_t, stream_filter_factory_t, and stream_filter_list_t. * Empty stream_filter_list_t instances are passed to audio_hw_if::set_params() Non-essential changes: * represent buffers as uint8_t* instead of u_char* * make outp const * make the second parameter of audio_hw_if::start_output() const * make the second parameter of audio_hw_if::trigger_output() const * change types of audio_ringbuffer::{pause,copying,needfill,mmapped}: char -> boolean_t * change the type of audio_params::sample_rate: u_long -> u_int The sample rate is exposed to userland as u_int. * typedef audio_params_t
Revision 1.28.2.4 / (download) - annotate - [select for diffs], Tue Nov 2 07:51:19 2004 UTC (19 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.28.2.3: +2 -2
lines
Diff to previous 1.28.2.3 (colored)
Sync with HEAD.
Revision 1.31 / (download) - annotate - [select for diffs], Fri Oct 29 12:57:16 2004 UTC (19 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: kent-audio1-beforemerge,
kent-audio1-base
Branch point for: kent-audio1
Changes since 1.30: +2 -2
lines
Diff to previous 1.30 (colored)
constify audio_hw_if, midi_hw_if, and radio_hw_if.
Revision 1.28.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:26:24 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.28.2.2: +1 -1
lines
Diff to previous 1.28.2.2 (colored)
Fix the sync with head I botched.
Revision 1.28.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:44:27 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.28.2.1: +0 -0
lines
Diff to previous 1.28.2.1 (colored)
Sync with HEAD.
Revision 1.28.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:44:53 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.28: +14 -10
lines
Diff to previous 1.28 (colored)
Sync with HEAD
Revision 1.30 / (download) - annotate - [select for diffs], Sat Jan 31 00:07:56 2004 UTC (20 years, 2 months ago) by fredb
Branch: MAIN
CVS Tags: netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-base,
netbsd-2-0-RELEASE,
netbsd-2-0-RC5,
netbsd-2-0-RC4,
netbsd-2-0-RC3,
netbsd-2-0-RC2,
netbsd-2-0-RC1,
netbsd-2-0-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2-0,
netbsd-2
Changes since 1.29: +13 -9
lines
Diff to previous 1.29 (colored)
Fix a couple of long-standing bugs in the volume control(s) part of the audio device interface: 1) When attempting to match the appropriate mixer control, we weren't checking the class label, but only the second level label, so for devices that had both an "inputs.cd" and a "record.cd", for example, we could never do the right thing except by chance. For this reason, evidently, all the record masters were labeled (by the underlying drivers) either "record.record" or "record.volume", to distinguish from "outputs.master". We'll now accept "record.master", and document that as the the new preferred way. 2) More importantly, the model was deficient. Selecting a port on many chips completely disables most of the level controls, which doesn't play nice with other applications which are trying to use the interface. Now, selecting a port simply sets which mixer input control shall be changed, setting state in the audio layer. In other words, the "mixerout" port is really selected all the time, enabling the final stage mixer, and setting "gain" sets the level of the appropriate input. It should be possible for separate applications to each control the mic, dac, and cd inputs at the same time using this interface, simply by reiterating their port selections with each change, but applications that don't bother to do that aren't any worse off than they were before. The user is expected to set the master output with another application, dedicated to that task. Though it is now meaningful to select "no port" with the audio device interface, to manipulate the master output, there's no particular reason for an audio device consumer to do that. (I added the capability in order to restore the initial state of the audio device, for testing purposes. It might also be useful to users of broken binary- only applications.) Observe that the mixer device interface (and so, "mixerctl") still retains all capabilities, including the ability to set the actual input port on the chip, overriding the level controls. No change is being made to the mixer device interface. The mixer device simply presents all the controls on the chip, with no attempt at abstraction, so there are no bugs there. The upshot is, that applications that have been trying to use the audio device interface to change the volume, such as mplayer, now "just work". I've tested these changes extensively with "eso" and "eap" since first proposing them on tech-kern last January, and somewhat with "esm" and a few others. This closes both PR kern/10221, and PR kern/17159.
Revision 1.29 / (download) - annotate - [select for diffs], Thu Oct 2 07:15:20 2003 UTC (20 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.28: +2 -2
lines
Diff to previous 1.28 (colored)
A bit of cleanup: * Separate the code to set the default parameters into a new function, audio_set_defaults(). Make it use audiosetinfo(), which properly initializes the block size and whatnot. Use this in both audioattach() and the /dev/audio case of audio_open(). * Do not force a reinitialization when /dev/sound is opened. * Do all of the block size sanity checks in auto_init_ringbuffer(), not in both audio_calc_blksize() and audiosetinfo(). * Fix a bug in audiosetinfo() that caused the block size to not be recalculated immediately if we set it to 0. * For AUDIO_GET[IO]OFFS, modify the deltablks calculation so that it gives us the number of block boundaries crossed.
Revision 1.28 / (download) - annotate - [select for diffs], Sat May 3 18:11:09 2003 UTC (20 years, 11 months ago) by wiz
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.27: +3 -3
lines
Diff to previous 1.27 (colored)
DMA, not dma nor Dma.
Revision 1.20.16.2 / (download) - annotate - [select for diffs], Sun Jun 23 17:44:58 2002 UTC (21 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.20.16.1: +61 -2
lines
Diff to previous 1.20.16.1 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)
catch up with -current on kqueue branch
Revision 1.20.14.1 / (download) - annotate - [select for diffs], Mon Apr 1 07:45:01 2002 UTC (22 years ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.20: +79 -1
lines
Diff to previous 1.20 (colored) next main 1.21 (colored)
Catch up to -current. (CVS: It's not just a program. It's an adventure!)
Revision 1.27 / (download) - annotate - [select for diffs], Mon Mar 18 00:42:36 2002 UTC (22 years ago) by enami
Branch: MAIN
CVS Tags: netbsd-1-6-base,
netbsd-1-6-RELEASE,
netbsd-1-6-RC3,
netbsd-1-6-RC2,
netbsd-1-6-RC1,
netbsd-1-6-PATCH002-RELEASE,
netbsd-1-6-PATCH002-RC4,
netbsd-1-6-PATCH002-RC3,
netbsd-1-6-PATCH002-RC2,
netbsd-1-6-PATCH002-RC1,
netbsd-1-6-PATCH002,
netbsd-1-6-PATCH001-RELEASE,
netbsd-1-6-PATCH001-RC3,
netbsd-1-6-PATCH001-RC2,
netbsd-1-6-PATCH001-RC1,
netbsd-1-6-PATCH001,
netbsd-1-6,
nathanw_sa_before_merge,
nathanw_sa_base,
kqueue-beforemerge,
kqueue-base,
kqueue-aftermerge,
gmcgarry_ucred_base,
gmcgarry_ucred,
gmcgarry_ctxsw_base,
gmcgarry_ctxsw,
gehenna-devsw-base,
gehenna-devsw,
fvdl_fs64_base,
eeh-devprop-base,
eeh-devprop
Changes since 1.26: +10 -8
lines
Diff to previous 1.26 (colored)
Make this file compiles again when AURATECONV > 0.
Revision 1.26 / (download) - annotate - [select for diffs], Sun Mar 17 23:36:08 2002 UTC (22 years ago) by christos
Branch: MAIN
Changes since 1.25: +1 -3
lines
Diff to previous 1.25 (colored)
more typo.
Revision 1.25 / (download) - annotate - [select for diffs], Sun Mar 17 23:29:55 2002 UTC (22 years ago) by christos
Branch: MAIN
Changes since 1.24: +2 -1
lines
Diff to previous 1.24 (colored)
fix typo.
Revision 1.24 / (download) - annotate - [select for diffs], Sun Mar 17 23:22:05 2002 UTC (22 years ago) by christos
Branch: MAIN
Changes since 1.23: +60 -2
lines
Diff to previous 1.23 (colored)
move aurateconv.h into audiovar.h to avoid name clash with the config(8) aurateconv.h counter.
Revision 1.23 / (download) - annotate - [select for diffs], Sun Mar 17 11:36:37 2002 UTC (22 years ago) by kent
Branch: MAIN
Changes since 1.22: +2 -2
lines
Diff to previous 1.22 (colored)
Rename aurateconvproto.h to aurateconv.h.
Revision 1.20.16.1 / (download) - annotate - [select for diffs], Sat Mar 16 16:00:47 2002 UTC (22 years ago) by jdolecek
Branch: kqueue
Changes since 1.20: +20 -1
lines
Diff to previous 1.20 (colored)
Catch up with -current.
Revision 1.22 / (download) - annotate - [select for diffs], Sat Mar 9 20:30:43 2002 UTC (22 years ago) by kent
Branch: MAIN
CVS Tags: newlock-base,
newlock
Changes since 1.21: +6 -2
lines
Diff to previous 1.21 (colored)
Move sampling rate conversion functions to aurateconv.c. Introduce "aurateconv" attribute for audio devices. Add aurateconv to uaudio and auich. (due to kern/15845 and kern/15848)
Revision 1.21 / (download) - annotate - [select for diffs], Thu Mar 7 14:37:02 2002 UTC (22 years ago) by kent
Branch: MAIN
Changes since 1.20: +16 -1
lines
Diff to previous 1.20 (colored)
Sampling rate and mono-stereo conversion described in http://mail-index.netbsd.org/tech-kern/2002/03/04/0005.html auconv.c: Add conversion functions audio.c: Sample alignment, calling conversion functions, etc. audio_if.h: Add four hw_* members to "struct audio_params" audiovar.h: Add conversion buffers, etc. auich and uaudio: Add conversion request code to *_set_params().
Revision 1.20 / (download) - annotate - [select for diffs], Thu Sep 9 10:24:45 1999 UTC (24 years, 6 months ago) by augustss
Branch: MAIN
CVS Tags: wrstuden-devbsize-base,
wrstuden-devbsize-19991221,
wrstuden-devbsize,
thorpej_scsipi_nbase,
thorpej_scsipi_beforemerge,
thorpej_scsipi_base,
thorpej_scsipi,
thorpej-mips-cache-base,
thorpej-mips-cache,
thorpej-devvp-base3,
thorpej-devvp-base2,
thorpej-devvp-base,
thorpej-devvp,
pre-chs-ubcperf,
post-chs-ubcperf,
netbsd-1-5-base,
netbsd-1-5-RELEASE,
netbsd-1-5-PATCH003,
netbsd-1-5-PATCH002,
netbsd-1-5-PATCH001,
netbsd-1-5-BETA2,
netbsd-1-5-BETA,
netbsd-1-5-ALPHA2,
netbsd-1-5,
minoura-xpg4dl-base,
minoura-xpg4dl,
ifpoll-base,
fvdl-softdep-base,
fvdl-softdep,
comdex-fall-1999-base,
comdex-fall-1999,
chs-ubc2-newbase
Branch point for: nathanw_sa,
kqueue
Changes since 1.19: +4 -1
lines
Diff to previous 1.19 (colored)
Add support for detaching audio devices.
Revision 1.19 / (download) - annotate - [select for diffs], Wed Feb 17 02:37:39 1999 UTC (25 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-4-base,
netbsd-1-4-RELEASE,
netbsd-1-4-PATCH003,
netbsd-1-4-PATCH002,
netbsd-1-4-PATCH001,
netbsd-1-4,
kame_14_19990705,
kame_14_19990628,
kame_141_19991130,
kame,
chs-ubc2-base,
chs-ubc2
Changes since 1.18: +2 -2
lines
Diff to previous 1.18 (colored)
Pass the direction to the allocm and round_buffersize methods. Some drivers need this to properly allocate DMAable memory.
Revision 1.18 / (download) - annotate - [select for diffs], Tue Mar 3 09:16:16 1998 UTC (26 years, 1 month ago) by augustss
Branch: MAIN
CVS Tags: kenh-if-detach-base,
kenh-if-detach,
eeh-paddr_t-base,
eeh-paddr_t,
chs-ubc-base,
chs-ubc
Changes since 1.17: +5 -5
lines
Diff to previous 1.17 (colored)
Avoid the name free so the MALLOCLOG option works again. Fix some typos.
Revision 1.17 / (download) - annotate - [select for diffs], Sun Oct 19 07:42:01 1997 UTC (26 years, 5 months ago) by augustss
Branch: MAIN
CVS Tags: netbsd-1-3-base,
netbsd-1-3-RELEASE,
netbsd-1-3-PATCH003-CANDIDATE2,
netbsd-1-3-PATCH003-CANDIDATE1,
netbsd-1-3-PATCH003-CANDIDATE0,
netbsd-1-3-PATCH003,
netbsd-1-3-PATCH002,
netbsd-1-3-PATCH001,
netbsd-1-3-BETA,
netbsd-1-3
Changes since 1.16: +17 -1
lines
Diff to previous 1.16 (colored)
Make the audio API (almost) SunOS compatible. The changes is to allow some limited mixer manipulation through the audio device (instead of the mixer device). This rendered 4 methods in audio_hw_if unused so garbage collect these.
Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sat Aug 23 07:12:46 1997 UTC (26 years, 7 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.12: +11 -3
lines
Diff to previous 1.12 (colored) next main 1.13 (colored)
Update marc-pcmcia branch from trunk.
Revision 1.16 / (download) - annotate - [select for diffs], Tue Aug 19 23:49:58 1997 UTC (26 years, 7 months ago) by augustss
Branch: MAIN
CVS Tags: thorpej-signal-base,
thorpej-signal,
marc-pcmcia-base
Changes since 1.15: +2 -1
lines
Diff to previous 1.15 (colored)
Change the MI audio driver so it attaches to the MD driver in the normal way. This requires adding a line to the config files to get audio to work again.
Revision 1.15 / (download) - annotate - [select for diffs], Mon Aug 11 01:38:14 1997 UTC (26 years, 7 months ago) by augustss
Branch: MAIN
Changes since 1.14: +6 -2
lines
Diff to previous 1.14 (colored)
Implement delivery of SIGIO on changes to /dev/mixer.
Revision 1.14 / (download) - annotate - [select for diffs], Fri Aug 8 00:03:28 1997 UTC (26 years, 7 months ago) by augustss
Branch: MAIN
Changes since 1.13: +4 -2
lines
Diff to previous 1.13 (colored)
Make setting the audio block size sticky. Change the calculated block size to correspond to 50 ms of sound (was 20 ms, it seems needlessly small).
Revision 1.13 / (download) - annotate - [select for diffs], Thu Jul 31 22:33:20 1997 UTC (26 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.12: +2 -1
lines
Diff to previous 1.12 (colored)
Audio changes: - Change the way attach and open works to allow multiple audio devices. - Split the mulaw.c file into two to avoid dragging in mulaw convertsion when they are not needed. Add 16 bit alaw/mulaw tables. - Change the way audio properties are gotten. - Recognize more versions os SoundBlaster.
Revision 1.12 / (download) - annotate - [select for diffs], Sun Jul 27 23:06:05 1997 UTC (26 years, 8 months ago) by augustss
Branch: MAIN
CVS Tags: marc-pcmcia-bp
Branch point for: marc-pcmcia
Changes since 1.11: +2 -1
lines
Diff to previous 1.11 (colored)
Fix divide by 0 bug in audio driver.
Revision 1.11 / (download) - annotate - [select for diffs], Sun Jul 27 01:16:47 1997 UTC (26 years, 8 months ago) by augustss
Branch: MAIN
Changes since 1.10: +46 -54
lines
Diff to previous 1.10 (colored)
Changes to the sudio system: - It is now possible to handle devices that want "looping" DMA, e.g. the SoundBlaster correctly. The WSS and SB drivers use this. To do this several new methods were introduced in audio_hw_if. - Different silence handling (forced by previous change). - The audio driver can now be mmap()-ed, but due to problems in the VM system only for writing for now. - The OSS (Linux) audio emulation takes advantage of some of the new features.
Revision 1.10 / (download) - annotate - [select for diffs], Tue Apr 29 21:01:47 1997 UTC (26 years, 11 months ago) by augustss
Branch: MAIN
CVS Tags: bouyer-scsipi
Changes since 1.9: +3 -3
lines
Diff to previous 1.9 (colored)
Change the interface between the high and low level audio drivers so that all audio encoding parameters are set at once. This simplifies the interface and make error checking easier.
Revision 1.9 / (download) - annotate - [select for diffs], Thu Mar 20 03:19:55 1997 UTC (27 years ago) by mycroft
Branch: MAIN
Changes since 1.8: +4 -1
lines
Diff to previous 1.8 (colored)
Fill in silence-padded blocks so we don't get gaps. From PR 3357, by Lennart Augustsson.
Revision 1.8 / (download) - annotate - [select for diffs], Thu Mar 13 02:19:49 1997 UTC (27 years ago) by mycroft
Branch: MAIN
Changes since 1.7: +3 -1
lines
Diff to previous 1.7 (colored)
Don't share the silence block between devices. Make silence filling work for more encodings, and make it device-independent. From Lennart Augustsson, in PR kern/3305.
Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 20 10:00:33 1996 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
CVS Tags: thorpej-setroot,
netbsd-1-2-base,
netbsd-1-2-RELEASE,
netbsd-1-2-PATCH001,
netbsd-1-2-BETA,
netbsd-1-2,
mrg-vm-swap,
is-newarp-before-merge,
is-newarp-base,
is-newarp
Changes since 1.6: +2 -1
lines
Diff to previous 1.6 (colored)
Trivial (and probably not very good) implementation of SIGIO.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Feb 17 02:29:05 1996 UTC (28 years, 1 month ago) by jtk
Branch: MAIN
Changes since 1.5: +2 -1
lines
Diff to previous 1.5 (colored)
Fix PR#2060 (add AUDIO_PERROR ioctl to query # of playback drops), also fix semantics of AUDIO_WERROR (now returns a count). Also repair audio driver back to "real-time mode" where user must provide data quickly enough for real time audio or silence is played until user catches up. Add optional "play all" mode (additional bit in mode field) to play all samples provided, with silence when needed to avoid buffer underrun.
Revision 1.5 / (download) - annotate - [select for diffs], Fri Feb 16 02:25:44 1996 UTC (28 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.4: +1 -2
lines
Diff to previous 1.4 (colored)
Eliminate sc_silence, and handle output interrupts somewhat differently. From John Kohl, slightly edited.
Revision 1.4 / (download) - annotate - [select for diffs], Mon Feb 5 21:11:11 1996 UTC (28 years, 1 month ago) by scottr
Branch: MAIN
Changes since 1.3: +2 -1
lines
Diff to previous 1.3 (colored)
Don't adjust the number of blocks in the ring buffer if the driver is currently outputting silence. Fix from Lennart Augustsson <augustss@cs.chalmers.se>, closes PR #2010.
Revision 1.3 / (download) - annotate - [select for diffs], Mon May 8 22:01:44 1995 UTC (28 years, 10 months ago) by brezak
Branch: MAIN
CVS Tags: netbsd-1-1-base,
netbsd-1-1-RELEASE,
netbsd-1-1-PATCH001,
netbsd-1-1
Changes since 1.2: +1 -2
lines
Diff to previous 1.2 (colored)
Remove strings
Revision 1.2 / (download) - annotate - [select for diffs], Sat Mar 25 00:04:18 1995 UTC (29 years ago) by mycroft
Branch: MAIN
Changes since 1.1: +3 -3
lines
Diff to previous 1.1 (colored)
Use void* rather than caddr_t in many places.
Revision 1.1 / (download) - annotate - [select for diffs], Tue Feb 21 01:36:59 1995 UTC (29 years, 1 month ago) by brezak
Branch: MAIN
New audio subsystem