diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2011-10-21 22:08:46 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2012-03-23 15:49:18 -0700 |
commit | fa8dd3ffafee8810feeacbabb3c1ed63c74c99e3 (patch) | |
tree | 6558b90c1151bae88cc01fcf4648b44404aa6b8a | |
parent | a8d1b11d07538874a61e79193b2b8368e6fb5468 (diff) |
asoc: tegra: Remove HDMI-SPDIF path support
HDMI-SPDIF path is not supported on Tegra30. Remove WAR added to
make HDMI-SPDIF path partially functional.
Also remove hda2codec_2x clock access from SPDIF driver since this
is only required for HDMI-SPDIF path.
Bug 872652
Change-Id: I4b0f7666fb53fa603c293154b05aaf62bb54e1bc
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-on: http://git-master/r/63315
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Rebase-Id: Refd3a2026d80c2fe0f4e3835db18a94b17eba6a9
-rw-r--r-- | sound/soc/tegra/tegra30_spdif.c | 20 | ||||
-rw-r--r-- | sound/soc/tegra/tegra30_spdif.h | 1 |
2 files changed, 2 insertions, 19 deletions
diff --git a/sound/soc/tegra/tegra30_spdif.c b/sound/soc/tegra/tegra30_spdif.c index b934634fb5eb..038127c0afb0 100644 --- a/sound/soc/tegra/tegra30_spdif.c +++ b/sound/soc/tegra/tegra30_spdif.c @@ -61,14 +61,12 @@ static inline u32 tegra30_spdif_read(struct tegra30_spdif *spdif, u32 reg) static void tegra30_spdif_enable_clocks(struct tegra30_spdif *spdif) { clk_enable(spdif->clk_spdif_out); - clk_enable(spdif->clk_hda2codec); tegra30_ahub_enable_clocks(); } static void tegra30_spdif_disable_clocks(struct tegra30_spdif *spdif) { tegra30_ahub_disable_clocks(); - clk_disable(spdif->clk_hda2codec); clk_disable(spdif->clk_spdif_out); } @@ -284,10 +282,6 @@ static int tegra30_spdif_hw_params(struct snd_pcm_substream *substream, return -EINVAL; } - // WAR: Apply 2x spdifclock to have proper audio (bug 838569) - // Should be removed once HDA is up. - spdifclock *= 2; - ret = clk_set_rate(spdif->clk_spdif_out, spdifclock); if (ret) { dev_err(dev, "Can't set SPDIF clock rate: %d\n", ret); @@ -405,18 +399,11 @@ static __devinit int tegra30_spdif_platform_probe(struct platform_device *pdev) goto err_free; } - spdif->clk_hda2codec = clk_get_sys("hda2codec_2x", NULL); - if (IS_ERR(spdif->clk_hda2codec)) { - dev_err(&pdev->dev, "Can't retrieve hda2codec clock\n"); - ret = PTR_ERR(spdif->clk_hda2codec); - goto err_clk_put_spdif; - } - mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!mem) { dev_err(&pdev->dev, "No memory resource\n"); ret = -ENODEV; - goto err_clk_put_hda; + goto err_clk_put_spdif; } memregion = request_mem_region(mem->start, resource_size(mem), @@ -424,7 +411,7 @@ static __devinit int tegra30_spdif_platform_probe(struct platform_device *pdev) if (!memregion) { dev_err(&pdev->dev, "Memory region already claimed\n"); ret = -EBUSY; - goto err_clk_put_hda; + goto err_clk_put_spdif; } spdif->regs = ioremap(mem->start, resource_size(mem)); @@ -462,8 +449,6 @@ err_unmap: iounmap(spdif->regs); err_release: release_mem_region(mem->start, resource_size(mem)); -err_clk_put_hda: - clk_put(spdif->clk_hda2codec); err_clk_put_spdif: clk_put(spdif->clk_spdif_out); err_free: @@ -487,7 +472,6 @@ static int __devexit tegra30_spdif_platform_remove(struct platform_device *pdev) release_mem_region(res->start, resource_size(res)); clk_put(spdif->clk_spdif_out); - clk_put(spdif->clk_hda2codec); kfree(spdif); diff --git a/sound/soc/tegra/tegra30_spdif.h b/sound/soc/tegra/tegra30_spdif.h index ce449c5edad4..c4763c31b257 100644 --- a/sound/soc/tegra/tegra30_spdif.h +++ b/sound/soc/tegra/tegra30_spdif.h @@ -765,7 +765,6 @@ struct tegra30_spdif { struct clk *clk_spdif_out; - struct clk *clk_hda2codec; enum tegra30_ahub_txcif txcif; struct tegra_pcm_dma_params playback_dma_data; void __iomem *regs; |