ALSA: rme9652: Support PCM sync_stop
authorTakashi Iwai <tiwai@suse.de>
Tue, 10 Dec 2019 06:34:32 +0000 (07:34 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 11 Dec 2019 06:25:52 +0000 (07:25 +0100)
The driver invokes snd_pcm_period_elapsed() simply from the interrupt
handler.  Set card->sync_irq for enabling the missing sync_stop PCM
operation.

Link: https://lore.kernel.org/r/20191210063454.31603-34-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/rme9652/hdsp.c
sound/pci/rme9652/hdspm.c
sound/pci/rme9652/rme9652.c

index cd20af465d8e1ac6a784aac0acbd4e0134bfbf2d..87e60dd13066c0b03ad46e7af5dea352f05b5450 100644 (file)
@@ -5233,6 +5233,7 @@ static int snd_hdsp_create(struct snd_card *card,
        }
 
        hdsp->irq = pci->irq;
+       card->sync_irq = hdsp->irq;
        hdsp->precise_ptr = 0;
        hdsp->use_midi_tasklet = 1;
        hdsp->dds_value = 0;
index 75c06a7cc7793f2c2272ae94e602877fce3ca9af..56ae14c90a2c6f424d4e37a333d77f973fe8f398 100644 (file)
@@ -6613,6 +6613,7 @@ static int snd_hdspm_create(struct snd_card *card,
        dev_dbg(card->dev, "use IRQ %d\n", pci->irq);
 
        hdspm->irq = pci->irq;
+       card->sync_irq = hdspm->irq;
 
        dev_dbg(card->dev, "kmalloc Mixer memory of %zd Bytes\n",
                sizeof(*hdspm->mixer));
index ef5c2f8e17c753a2c456b6d892453512e50fbbb0..6fda027d28a4e1e4973c421c389b6f297cd53ba0 100644 (file)
@@ -2479,6 +2479,7 @@ static int snd_rme9652_create(struct snd_card *card,
                return -EBUSY;
        }
        rme9652->irq = pci->irq;
+       card->sync_irq = rme9652->irq;
        rme9652->precise_ptr = precise_ptr;
 
        /* Determine the h/w rev level of the card. This seems like