ALSA: rme9652: Support PCM sync_stop

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>
This commit is contained in:
Takashi Iwai 2019-12-10 07:34:32 +01:00
Родитель 5fcf46bc83
Коммит 39cccf4511
3 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -5233,6 +5233,7 @@ static int snd_hdsp_create(struct snd_card *card,
} }
hdsp->irq = pci->irq; hdsp->irq = pci->irq;
card->sync_irq = hdsp->irq;
hdsp->precise_ptr = 0; hdsp->precise_ptr = 0;
hdsp->use_midi_tasklet = 1; hdsp->use_midi_tasklet = 1;
hdsp->dds_value = 0; hdsp->dds_value = 0;

Просмотреть файл

@ -6613,6 +6613,7 @@ static int snd_hdspm_create(struct snd_card *card,
dev_dbg(card->dev, "use IRQ %d\n", pci->irq); dev_dbg(card->dev, "use IRQ %d\n", pci->irq);
hdspm->irq = pci->irq; hdspm->irq = pci->irq;
card->sync_irq = hdspm->irq;
dev_dbg(card->dev, "kmalloc Mixer memory of %zd Bytes\n", dev_dbg(card->dev, "kmalloc Mixer memory of %zd Bytes\n",
sizeof(*hdspm->mixer)); sizeof(*hdspm->mixer));

Просмотреть файл

@ -2479,6 +2479,7 @@ static int snd_rme9652_create(struct snd_card *card,
return -EBUSY; return -EBUSY;
} }
rme9652->irq = pci->irq; rme9652->irq = pci->irq;
card->sync_irq = rme9652->irq;
rme9652->precise_ptr = precise_ptr; rme9652->precise_ptr = precise_ptr;
/* Determine the h/w rev level of the card. This seems like /* Determine the h/w rev level of the card. This seems like