summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorSumit Singh <sumsingh@nvidia.com>2016-03-08 07:36:34 -0500
committerSameer Pujar <spujar@nvidia.com>2017-08-07 05:26:22 -0400
commit6dfd7b7048d21f687af9c499d1f162e402f1d361 (patch)
treef0887b50ff6bd1c52bd0230b7a32e6d8e28975a5 /sound/pci/hda
parent40483cda5d2539e6d3d4062b2d164b408315874b (diff)
ALSA: HDA: Enable clocks during SC7 if already runtime suspended
During SC7, if device is already runtime suspended, then executing azx_enter_link_reset in hda_tegra_suspend, which access registers, will cause hard hang because clocks are already off. So, in this case clocks should be enabled so that executing azx_enter_link_reset works fine. Bug 200178787 Change-Id: I625f5750f12f24226e3586f26a6bd1f23082a06e Signed-off-by: Sumit Singh <sumsingh@nvidia.com> Reviewed-on: http://git-master/r/1026435 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/hda_tegra.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c
index 22f917889..95d818fec 100644
--- a/sound/pci/hda/hda_tegra.c
+++ b/sound/pci/hda/hda_tegra.c
@@ -301,6 +301,9 @@ static int hda_tegra_suspend(struct device *dev)
301 struct azx *chip = card->private_data; 301 struct azx *chip = card->private_data;
302 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); 302 struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip);
303 303
304 if (pm_runtime_suspended(dev))
305 hda_tegra_enable_clocks(hda);
306
304 snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); 307 snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
305 308
306 azx_stop_chip(chip); 309 azx_stop_chip(chip);