Commit 5e0890c1 authored by Takashi Iwai's avatar Takashi Iwai

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.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 25ec679b
...@@ -1937,6 +1937,7 @@ static int hw_card_start(struct hw *hw) ...@@ -1937,6 +1937,7 @@ static int hw_card_start(struct hw *hw)
goto error2; goto error2;
} }
hw->irq = pci->irq; hw->irq = pci->irq;
hw->card->sync_irq = hw->irq;
} }
pci_set_master(pci); pci_set_master(pci);
...@@ -1962,9 +1963,6 @@ static int hw_card_stop(struct hw *hw) ...@@ -1962,9 +1963,6 @@ static int hw_card_stop(struct hw *hw)
data = hw_read_20kx(hw, PLLCTL); data = hw_read_20kx(hw, PLLCTL);
hw_write_20kx(hw, PLLCTL, (data & (~(0x0F<<12)))); hw_write_20kx(hw, PLLCTL, (data & (~(0x0F<<12))));
/* TODO: Disable interrupt and so on... */
if (hw->irq >= 0)
synchronize_irq(hw->irq);
return 0; return 0;
} }
......
...@@ -2061,6 +2061,7 @@ static int hw_card_start(struct hw *hw) ...@@ -2061,6 +2061,7 @@ static int hw_card_start(struct hw *hw)
goto error2; goto error2;
} }
hw->irq = pci->irq; hw->irq = pci->irq;
hw->card->sync_irq = hw->irq;
} }
pci_set_master(pci); pci_set_master(pci);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment