summaryrefslogtreecommitdiff
path: root/sound/pci/emu10k1/io.c
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>2023-07-10 09:59:55 +0300
committerTakashi Iwai <tiwai@suse.de>2023-07-10 17:56:59 +0300
commitfbb64eedf5a3a98071ee75808cfc1367d1e75783 (patch)
treece5b66828d053708c24daf9e13a4de80cc434a99 /sound/pci/emu10k1/io.c
parent7d43f51e4046c49230dea0d4f991c4cd1759327f (diff)
downloadlinux-fbb64eedf5a3a98071ee75808cfc1367d1e75783.tar.xz
ALSA: emu10k1: make E-MU dock monitoring interrupt-driven
... instead of using a one-second polling timer. Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Link: https://lore.kernel.org/r/20230710065956.1246364-1-oswald.buddenhagen@gmx.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/emu10k1/io.c')
-rw-r--r--sound/pci/emu10k1/io.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/emu10k1/io.c b/sound/pci/emu10k1/io.c
index a0d66ce3ee83..c695cb863e5e 100644
--- a/sound/pci/emu10k1/io.c
+++ b/sound/pci/emu10k1/io.c
@@ -302,6 +302,8 @@ static void snd_emu1010_fpga_read_locked(struct snd_emu10k1 *emu, u32 reg, u32 *
{
// The higest input pin is used as the designated interrupt trigger,
// so it needs to be masked out.
+ // But note that any other input pin change will also cause an IRQ,
+ // so using this function often causes an IRQ as a side effect.
u32 mask = emu->card_capabilities->ca0108_chip ? 0x1f : 0x7f;
if (snd_BUG_ON(reg > 0x3f))
return;