summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorSumit Bhattacharya <sumitb@nvidia.com>2011-08-19 17:41:51 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-08-19 15:37:25 -0700
commit9c3e3feff3622f41ec5f7cf7b1b343f3c16193df (patch)
tree76b74aea0ea102b7bfb1981c193d5c2f32800322 /sound
parentba16a9c9891fc415add3fbe1fe794a27b4213e77 (diff)
arm: tegra: Fix HDA suspend-resume
azx chip should be stopped during HDA suspend and during resume NV HDA controller should be initialized first before initializing azx chip. Bug 827122 Change-Id: Ifdfb5d041571eab00cad44d8609f8c80af939bc3 Reviewed-on: http://git-master/r/48167 Tested-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/arm/tegra/hda_tegra.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/arm/tegra/hda_tegra.c b/sound/arm/tegra/hda_tegra.c
index 63d207fd2980..c7daba948221 100644
--- a/sound/arm/tegra/hda_tegra.c
+++ b/sound/arm/tegra/hda_tegra.c
@@ -54,6 +54,7 @@ static int enable_msi;
/* Module clock info */
static struct clk *clk_hda, *clk_hda2codec , *clk_hda2hdmicodec;
static bool is_hda_clk_on = false;
+static int nv_tegra_hda_controller_init(struct platform_device *pdev);
#ifdef CONFIG_SND_HDA_PATCH_LOADER
static char *patch[SNDRV_CARDS];
@@ -514,9 +515,7 @@ static int nv_tegra_azx_suspend(struct platform_device *pdev,
snd_pcm_suspend_all(chip->pcm[i]);
if (chip->initialized)
snd_hda_suspend(chip->bus);
-
- if (!chip->bus->power_keep_link_on)
- azx_stop_chip(chip);
+ azx_stop_chip(chip);
if (chip->irq >= 0) {
free_irq(chip->irq, chip);
@@ -534,6 +533,7 @@ static int nv_tegra_azx_resume(struct platform_device *pdev)
struct azx *chip = card->private_data;
nv_tegra_enable_hda_clks(true);
+ nv_tegra_hda_controller_init(pdev);
chip->msi = 0;
if (azx_acquire_irq(chip, 1) < 0)