diff options
author | Takashi Iwai <tiwai@suse.de> | 2019-12-10 09:34:20 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-12-11 09:25:47 +0300 |
commit | f36da9406e6698a97ea643aeeab6307863094967 (patch) | |
tree | 5ed408dd4ecf7bbbabd5dd61b5b50b89014eb4d7 /sound/pci/hda/hda_tegra.c | |
parent | e41dbd20383d0dda8813ef6186b142be4de0ddb6 (diff) | |
download | linux-f36da9406e6698a97ea643aeeab6307863094967.tar.xz |
ALSA: hda: 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. It's cleared and reset dynamically at IRQ re-acquiring for
the PM resume, too.
Link: https://lore.kernel.org/r/20191210063454.31603-22-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_tegra.c')
-rw-r--r-- | sound/pci/hda/hda_tegra.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c index 8350954b7986..fc2e0a294bc1 100644 --- a/sound/pci/hda/hda_tegra.c +++ b/sound/pci/hda/hda_tegra.c @@ -170,7 +170,6 @@ static int __maybe_unused hda_tegra_runtime_suspend(struct device *dev) if (chip && chip->running) { azx_stop_chip(chip); - synchronize_irq(bus->irq); azx_enter_link_reset(chip); } hda_tegra_disable_clocks(hda); @@ -298,8 +297,7 @@ static int hda_tegra_first_init(struct azx *chip, struct platform_device *pdev) return err; } bus->irq = irq_id; - - synchronize_irq(bus->irq); + card->sync_irq = bus->irq; gcap = azx_readw(chip, GCAP); dev_dbg(card->dev, "chipset global capabilities = 0x%x\n", gcap); |