linux/include/sound
Takashi Iwai 9442e691e4 [PATCH] maximum latency tracking: ALSA support
Add maximum latency tracking to the ALSA subsystem for PCM playback.  In
ALSA, the playback application controls the buffer size and thus indirectly
the period of latency that it can deal with.  This patch uses 75% of the
total available latency as threshold to announce to the latency subsystem;
While 75% is a crude heuristic it's a quite reasonable one; the remaining
25% can be used for all driver processing for the next samples which is
also proportional to the size of the buffer.

With ogg123 a latency setting of about 4msec was seen (at 44Khz), while
with the "play" command a much longer maximum tolerable latency was seen.
Other, more multimedia oriented players as well as games, will have a lot
smaller buffers to allow better synchronization and those will actually get
into the latency domains where there is impact on the power management
rules.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-01 00:39:19 -07:00
..
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
ac97_codec.h [ALSA] Add experimental support of aggressive AC97 power-saving mode 2006-09-23 10:37:08 +02:00
ad1816a.h [ALSA] Remove xxx_t typedefs: ISA AD1816A 2006-01-03 12:18:18 +01:00
ad1848.h [ALSA] Add dB scale information to ad1848 driver 2006-09-23 10:43:28 +02:00
ainstr_fm.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_gf1.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_iw.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_simple.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ak4xxx-adda.h [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
ak4114.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:09 +01:00
ak4117.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:09 +01:00
ak4531_codec.h [ALSA] semaphore -> mutex (PCI part) 2006-03-22 10:25:29 +01:00
asequencer.h [ALSA] add more sequencer port type information bits 2006-06-22 21:33:18 +02:00
asound.h [ALSA] Control API - more robust TLV implementation 2006-09-23 10:37:26 +02:00
asound_fm.h [ALSA] Remove xxx_t typedefs: OPL3 2006-01-03 12:18:04 +01:00
asoundef.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
control.h [ALSA] Remove unused tlv_rw field from struct snd_kcontrol 2006-09-23 10:37:49 +02:00
core.h [ALSA] Add pcm_class attribute to PCM sysfs entry 2006-09-23 10:46:32 +02:00
cs46xx.h [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
cs46xx_dsp_scb_types.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs46xx_dsp_spos.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs46xx_dsp_task_types.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs4231.h [ALSA] semaphore -> mutex (ISA part) 2006-03-22 10:25:03 +01:00
cs8403.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
cs8427.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
driver.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
emu10k1.h [ALSA] snd-emu10k1: Implement dB gain infomation. 2006-09-23 10:38:32 +02:00
emu10k1_synth.h [ALSA] Remove xxx_t typedefs: PCI emu10k1 2006-01-03 12:18:47 +01:00
emu8000.h [ALSA] Remove xxx_t typedefs: ISA SB8/SB16/SBAWE 2006-01-03 12:18:25 +01:00
emu8000_reg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
emux_legacy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
emux_synth.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
es1688.h [ALSA] Remove xxx_t typedefs: ISA ES1688 2006-01-03 12:18:23 +01:00
gus.h [ALSA] semaphore -> mutex (ISA part) 2006-03-22 10:25:03 +01:00
hdsp.h Fix integer types in <sound/hdsp.h> SNDRV_HDSP_IOCTL_GET_PEAK_RMS ioctl 2006-05-04 00:42:42 +01:00
hdspm.h [ALSA] Remove xxx_t typedefs: PCI HDSP-MADI 2006-01-03 12:18:53 +01:00
hwdep.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
i2c.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
info.h [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
initval.h [PATCH] irq-flags: sound: Use the new IRQF_ constants 2006-07-02 13:58:54 -07:00
memalloc.h [PATCH] gfp_t: sound 2005-10-28 08:16:50 -07:00
minors.h [ALSA] dynamic minors (4/6): dynamic minor number allocation 2006-01-03 12:29:19 +01:00
mixer_oss.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
mpu401.h [ALSA] Change an arugment of snd_mpu401_uart_new() to bit flags 2006-06-22 21:33:56 +02:00
opl3.h [PATCH] sound: remove PC98-specific OPL3_HW_OPL3_PC98 2006-03-24 07:33:26 -08:00
opl4.h [ALSA] Remove xxx_t typedefs: OPL4 2006-01-03 12:18:06 +01:00
pcm-indirect.h [ALSA] Remove xxx_t typedefs: PCM 2006-01-03 12:17:43 +01:00
pcm.h [PATCH] maximum latency tracking: ALSA support 2006-10-01 00:39:19 -07:00
pcm_oss.h [ALSA] Fix Oops at rmmod with CONFIG_SND_VERBOSE_PROCFS=n 2006-04-27 21:10:42 +02:00
pcm_params.h [ALSA] Move OSS-specific hw_params helper to snd-pcm-oss module 2006-06-22 21:33:05 +02:00
rawmidi.h [ALSA] rawmidi: add get_port_info callback for sequencer information flags 2006-06-22 21:33:20 +02:00
sb.h [ALSA] Add PM support to SB-support code 2006-01-03 12:28:03 +01:00
sb16_csp.h [ALSA] semaphore -> mutex (ISA part) 2006-03-22 10:25:03 +01:00
seq_device.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_instr.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
seq_kernel.h [ALSA] seq: set client name in snd_seq_create_kernel_client() 2006-01-03 12:30:49 +01:00
seq_midi_emul.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_midi_event.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_oss.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_oss_legacy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seq_virmidi.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
sfnt_info.h [ALSA] Remove xxx_t typedefs: Emu-X synth 2006-01-03 12:18:14 +01:00
snd_wavefront.h [ALSA] Remove xxx_t typedefs: ISA Wavefront 2006-01-03 12:18:30 +01:00
soundfont.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
sscape_ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tea575x-tuner.h V4L/DVB (4210b): git-dvb: tea575x-tuner build fix 2006-06-25 02:05:25 -03:00
tea6330t.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
timer.h [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
tlv.h [ALSA] Add definition of TLV dB range compound 2006-09-23 10:46:11 +02:00
trident.h [ALSA] trident - Fix PM support 2006-01-03 12:27:37 +01:00
typedefs.h [ALSA] Backward-compatibility typedefs 2006-01-03 12:18:00 +01:00
uda1341.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
util_mem.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
version.h [ALSA] version 1.0.12rc1 2006-06-22 21:35:11 +02:00
vx_core.h [ALSA] Add dB scale information to vxpocket and vx222 drivers 2006-09-23 10:44:12 +02:00
wavefront.h [PATCH] Eliminate __attribute__ ((packed)) warnings for gcc-4.1 2006-01-08 20:14:07 -08:00
wavefront_fx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ymfpci.h [ALSA] ymfpci - make rear channel swap optional 2006-03-22 10:26:21 +01:00