diff options
Diffstat (limited to 'sound/soc/tegra/tegra30_dam.c')
-rw-r--r-- | sound/soc/tegra/tegra30_dam.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sound/soc/tegra/tegra30_dam.c b/sound/soc/tegra/tegra30_dam.c index e2511edf219e..bb42edc2e199 100644 --- a/sound/soc/tegra/tegra30_dam.c +++ b/sound/soc/tegra/tegra30_dam.c @@ -952,14 +952,14 @@ void tegra30_dam_enable(int ifc, int on, int chid) if (!on) { if (chid == dam_ch_in0) { - while (tegra30_ahub_dam_ch0_is_enabled(ifc) + while (!tegra30_ahub_dam_ch0_is_empty(ifc) && dcnt--) udelay(100); dcnt = 10; } else { - while (tegra30_ahub_dam_ch1_is_enabled(ifc) + while (!tegra30_ahub_dam_ch1_is_empty(ifc) && dcnt--) udelay(100); @@ -970,14 +970,12 @@ void tegra30_dam_enable(int ifc, int on, int chid) if (old_val_dam != val_dam) { tegra30_dam_writel(dam, val_dam, TEGRA30_DAM_CTRL); - if (!on) { - while (tegra30_ahub_dam_tx_is_enabled(ifc) && dcnt--) + while (!tegra30_ahub_dam_tx_is_empty(ifc) && dcnt--) udelay(100); dcnt = 10; } - } } @@ -1044,7 +1042,7 @@ static int __devinit tegra30_dam_probe(struct platform_device *pdev) goto err_free; } clkm_rate = clk_get_rate(clk_get_parent(dam->dam_clk)); - while (clkm_rate > 12000000) + while (clkm_rate > 13000000) clkm_rate >>= 1; clk_set_rate(dam->dam_clk,clkm_rate); |