From 5e0890c1cb7dbcb9779fb664e8f3c579911c9283 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 10 Dec 2019 07:34:13 +0100 Subject: ALSA: ctxfi: 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, as well as removing the superfluous synchronize_irq() call. Link: https://lore.kernel.org/r/20191210063454.31603-15-tiwai@suse.de Signed-off-by: Takashi Iwai --- sound/pci/ctxfi/cthw20k1.c | 4 +--- sound/pci/ctxfi/cthw20k2.c | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'sound/pci/ctxfi') diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c index 4ff7ecd92709..6e3177bcc709 100644 --- a/sound/pci/ctxfi/cthw20k1.c +++ b/sound/pci/ctxfi/cthw20k1.c @@ -1937,6 +1937,7 @@ static int hw_card_start(struct hw *hw) goto error2; } hw->irq = pci->irq; + hw->card->sync_irq = hw->irq; } pci_set_master(pci); @@ -1962,9 +1963,6 @@ static int hw_card_stop(struct hw *hw) data = hw_read_20kx(hw, PLLCTL); hw_write_20kx(hw, PLLCTL, (data & (~(0x0F<<12)))); - /* TODO: Disable interrupt and so on... */ - if (hw->irq >= 0) - synchronize_irq(hw->irq); return 0; } diff --git a/sound/pci/ctxfi/cthw20k2.c b/sound/pci/ctxfi/cthw20k2.c index 3cd4b7dad945..ce44cbe6459f 100644 --- a/sound/pci/ctxfi/cthw20k2.c +++ b/sound/pci/ctxfi/cthw20k2.c @@ -2061,6 +2061,7 @@ static int hw_card_start(struct hw *hw) goto error2; } hw->irq = pci->irq; + hw->card->sync_irq = hw->irq; } pci_set_master(pci); -- cgit v1.2.3