diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2011-08-19 17:41:51 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-08-19 15:37:25 -0700 |
commit | 9c3e3feff3622f41ec5f7cf7b1b343f3c16193df (patch) | |
tree | 76b74aea0ea102b7bfb1981c193d5c2f32800322 /sound | |
parent | ba16a9c9891fc415add3fbe1fe794a27b4213e77 (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.c | 6 |
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) |