ALSA: emu10k1: Support PCM sync_stop
authorTakashi Iwai <tiwai@suse.de>
Tue, 10 Dec 2019 06:34:15 +0000 (07:34 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 11 Dec 2019 06:25:45 +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-17-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/emu10k1/emu10k1_main.c
sound/pci/emu10k1/emu10k1x.c

index 8c1e968b9c960ecc8110d343f890a3e90586bfc6..65e9ec94b80726b493f98db9c4a5ef9a8fc7cf48 100644 (file)
@@ -1984,6 +1984,7 @@ int snd_emu10k1_create(struct snd_card *card,
                goto error;
        }
        emu->irq = pci->irq;
+       card->sync_irq = emu->irq;
 
        /*
         *  Init to 0x02109204 :
index 19fc74e94727b90c57e49f41939aa6f15f165ecf..6467142ec460fd31fb5ea9d2954761bbbbc9f9d6 100644 (file)
@@ -930,6 +930,7 @@ static int snd_emu10k1x_create(struct snd_card *card,
                return -EBUSY;
        }
        chip->irq = pci->irq;
+       card->sync_irq = chip->irq;
   
        if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &pci->dev,
                                4 * 1024, &chip->dma_buffer) < 0) {