linux/sound/pci/emu10k1
Oswald Buddenhagen 11ee59bdac ALSA: emu10k1: add synchronized start of multi-channel playback
We use independent voices for the channels, so we need to make an effort
to ensure that they are actually in sync.

The hardware doesn't provide atomicity, so we may need to retry a few
times, due to NMIs, PCI contention, and the wrong phase of the moon.

Solution inspired by kX-project.

Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Link: https://lore.kernel.org/r/20230523200709.236023-3-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2023-05-24 12:10:29 +02:00
..
emu10k1_callback.c ALSA: emu10k1: revamp playback voice allocator 2023-05-20 10:16:20 +02:00
emu10k1_main.c ALSA: emu10k1: introduce and use snd_emu10k1_ptr_write_multiple() 2023-05-18 13:08:23 +02:00
emu10k1_patch.c ALSA: pci/emu10k1: remove 'set but not used' warning 2020-07-07 12:09:45 +02:00
emu10k1_synth_local.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
emu10k1_synth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
emu10k1.c Revert "ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)" 2023-05-18 07:29:41 +02:00
emu10k1x.c ALSA: emu10k1x: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:24 +02:00
emufx.c ALSA: emu10k1: remove runtime 64-bit divisions 2023-05-17 22:10:57 +02:00
emumixer.c ALSA: emu10k1: revamp playback voice allocator 2023-05-20 10:16:20 +02:00
emumpu401.c ALSA: emu10k1: Fix assignment in if condition 2021-06-09 17:30:11 +02:00
emupcm.c ALSA: emu10k1: add synchronized start of multi-channel playback 2023-05-24 12:10:29 +02:00
emuproc.c ALSA: emu10k1: revamp playback voice allocator 2023-05-20 10:16:20 +02:00
io.c ALSA: emu10k1: add synchronized start of multi-channel playback 2023-05-24 12:10:29 +02:00
irq.c ALSA: emu10k1: fix handling of half-loop interrupts 2023-05-18 13:07:13 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memory.c Revert "ALSA: emu10k1 - delay the PCM interrupts (add pcm_irq_delay parameter)" 2023-05-18 07:29:41 +02:00
p16v.c ALSA: emu10k1: use more existing defines instead of open-coded numbers 2023-04-28 11:22:51 +02:00
p16v.h ALSA: emu10k1: comment updates 2023-04-23 09:15:13 +02:00
p17v.h ALSA: emu10k1: comment updates 2023-04-23 09:15:13 +02:00
timer.c ALSA: emu10k1: remove pointless locks from timer code 2023-05-08 09:20:48 +02:00
tina2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
voice.c ALSA: emu10k1: revamp playback voice allocator 2023-05-20 10:16:20 +02:00