diff options
author | Mohan Kumar <mkumard@nvidia.com> | 2016-08-19 07:01:38 -0400 |
---|---|---|
committer | Sameer Pujar <spujar@nvidia.com> | 2017-08-07 05:26:22 -0400 |
commit | 91432f1ab73f6b61fcf14fae501275517302eb45 (patch) | |
tree | 398912baff0e89534347442e879ad423e3ad8fe0 /sound/pci/hda | |
parent | e30f930b06b19f045bd7cddc12122072556bd584 (diff) |
ALSA: HDA: avoid hda resets in hda driver
As hda resets will be handled during display partition power gate/ungate,
avoid unnecessary call for reset in other places else SOR will lose sync
with AZA controller.
Bug 200216738
Bug 200215591
Change-Id: Iccd845c3aa46880c60e56f9ba926cd7e5ae75de3
Signed-off-by: Mohan Kumar <mkumard@nvidia.com>
Reviewed-on: http://git-master/r/1205044
GVS: Gerrit_Virtual_Submit
Reviewed-by: Diwakar Paliwal <dpaliwal@nvidia.com>
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/hda_tegra.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c index 203edce64..a5d0e357d 100644 --- a/sound/pci/hda/hda_tegra.c +++ b/sound/pci/hda/hda_tegra.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <linux/pm_runtime.h> | 36 | #include <linux/pm_runtime.h> |
37 | #include <linux/tegra-powergate.h> | 37 | #include <linux/tegra-powergate.h> |
38 | #include <linux/tegra_pm_domains.h> | 38 | #include <linux/tegra_pm_domains.h> |
39 | #include <linux/reset.h> | ||
40 | 39 | ||
41 | #include <sound/core.h> | 40 | #include <sound/core.h> |
42 | #include <sound/initval.h> | 41 | #include <sound/initval.h> |
@@ -90,11 +89,6 @@ struct hda_tegra { | |||
90 | int partition_id; | 89 | int partition_id; |
91 | void __iomem *regs; | 90 | void __iomem *regs; |
92 | struct work_struct probe_work; | 91 | struct work_struct probe_work; |
93 | #if defined(CONFIG_COMMON_CLK) | ||
94 | struct reset_control *hda_rst; | ||
95 | struct reset_control *hda2codec_2x_rst; | ||
96 | struct reset_control *hda2hdmi_rst; | ||
97 | #endif | ||
98 | bool is_power_on; | 92 | bool is_power_on; |
99 | }; | 93 | }; |
100 | 94 | ||
@@ -246,12 +240,6 @@ static int hda_tegra_enable_clocks(struct hda_tegra *hda) | |||
246 | hda->is_power_on = true; | 240 | hda->is_power_on = true; |
247 | } | 241 | } |
248 | 242 | ||
249 | #if defined(CONFIG_COMMON_CLK) | ||
250 | reset_control_reset(hda->hda_rst); | ||
251 | reset_control_reset(hda->hda2codec_2x_rst); | ||
252 | reset_control_reset(hda->hda2hdmi_rst); | ||
253 | #endif | ||
254 | |||
255 | rc = clk_prepare_enable(hda->hda_clk); | 243 | rc = clk_prepare_enable(hda->hda_clk); |
256 | if (rc) | 244 | if (rc) |
257 | return rc; | 245 | return rc; |
@@ -417,33 +405,6 @@ static int hda_tegra_init_clk(struct azx *chip, struct platform_device *pdev) | |||
417 | struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); | 405 | struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip); |
418 | struct device *dev = hda->dev; | 406 | struct device *dev = hda->dev; |
419 | 407 | ||
420 | #if defined(CONFIG_COMMON_CLK) | ||
421 | hda->hda_rst = devm_reset_control_get(&pdev->dev, "hda_rst"); | ||
422 | if (IS_ERR(hda->hda_rst)) { | ||
423 | dev_err(dev, "hda_rst reset control not found, err: %ld\n", | ||
424 | PTR_ERR(hda->hda_rst)); | ||
425 | return PTR_ERR(hda->hda_rst); | ||
426 | } | ||
427 | |||
428 | hda->hda2codec_2x_rst = | ||
429 | devm_reset_control_get(&pdev->dev, "hda2codec_2x_rst"); | ||
430 | if (IS_ERR(hda->hda2codec_2x_rst)) { | ||
431 | dev_err(dev, | ||
432 | "hda2codec_2x reset control not found, err: %ld\n", | ||
433 | PTR_ERR(hda->hda2codec_2x_rst)); | ||
434 | return PTR_ERR(hda->hda2codec_2x_rst); | ||
435 | } | ||
436 | |||
437 | hda->hda2hdmi_rst = | ||
438 | devm_reset_control_get(&pdev->dev, "hda2hdmi_rst"); | ||
439 | if (IS_ERR(hda->hda2hdmi_rst)) { | ||
440 | dev_err(dev, | ||
441 | "hda2hdmi_rst reset control not found, err: %ld\n", | ||
442 | PTR_ERR(hda->hda2hdmi_rst)); | ||
443 | return PTR_ERR(hda->hda2hdmi_rst); | ||
444 | } | ||
445 | #endif | ||
446 | |||
447 | hda->hda_clk = devm_clk_get(dev, "hda"); | 408 | hda->hda_clk = devm_clk_get(dev, "hda"); |
448 | if (IS_ERR(hda->hda_clk)) { | 409 | if (IS_ERR(hda->hda_clk)) { |
449 | dev_err(dev, "hda clock handle not found\n"); | 410 | dev_err(dev, "hda clock handle not found\n"); |