summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMohan Kumar <mkumard@nvidia.com>2020-08-25 10:54:15 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-09-17 13:47:46 +0200
commitbcdbb7c8c7f9ac90eeff07e0e99bc986cd7db5e1 (patch)
tree11a4c829b5667607de33f8d3c84d17e590cabd97 /sound
parentad360686fcd2739153c5fc7039cd3d307f6c205b (diff)
ALSA: hda/tegra: Program WAKEEN register for Tegra
[ Upstream commit 23d63a31d9f44d7daeac0d1fb65c6a73c70e5216 ] The WAKEEN bits are used to indicate which bits in the STATESTS register may cause wake event during the codec state change request. Configure the WAKEEN register for the Tegra to detect the wake events. Signed-off-by: Mohan Kumar <mkumard@nvidia.com> Acked-by: Sameer Pujar <spujar@nvidia.com> Link: https://lore.kernel.org/r/20200825052415.20626-3-mkumard@nvidia.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_tegra.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c
index e5191584638a..e378cb33c69d 100644
--- a/sound/pci/hda/hda_tegra.c
+++ b/sound/pci/hda/hda_tegra.c
@@ -169,6 +169,10 @@ static int __maybe_unused hda_tegra_runtime_suspend(struct device *dev)
struct hdac_bus *bus = azx_bus(chip);
if (chip && chip->running) {
+ /* enable controller wake up event */
+ azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) |
+ STATESTS_INT_MASK);
+
azx_stop_chip(chip);
synchronize_irq(bus->irq);
azx_enter_link_reset(chip);
@@ -191,6 +195,9 @@ static int __maybe_unused hda_tegra_runtime_resume(struct device *dev)
if (chip && chip->running) {
hda_tegra_init(hda);
azx_init_chip(chip, 1);
+ /* disable controller wake up event*/
+ azx_writew(chip, WAKEEN, azx_readw(chip, WAKEEN) &
+ ~STATESTS_INT_MASK);
}
return 0;