aboutsummaryrefslogtreecommitdiff
path: root/sound/soc
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2010-02-02 18:53:19 +0900
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-02-02 11:21:11 +0000
commit07cd8ada1aba5556b0d5d2264ce0f40d1ff1d131 (patch)
tree6ec35f91f0591323a52d2ed8024a1252c7e00864 /sound/soc
parentfead215d1c0a385fc27a1fa96b7abbc4d66fb4c6 (diff)
ASoC: Fix BCLK calculation of WM8994
This fixes BCLK calculation and removes unnecessary check code. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8994.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 5dd4b299f69..29f3771c33a 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -3267,15 +3267,12 @@ static int wm8994_hw_params(struct snd_pcm_substream *substream,
*/
best = 0;
for (i = 0; i < ARRAY_SIZE(bclk_divs); i++) {
- if (bclk_divs[i] < 0)
- continue;
- cur_val = (wm8994->aifclk[id] * 10 / bclk_divs[i])
- - bclk_rate * 10;
+ cur_val = (wm8994->aifclk[id] * 10 / bclk_divs[i]) - bclk_rate;
if (cur_val < 0) /* BCLK table is sorted */
break;
best = i;
}
- bclk_rate = wm8994->aifclk[id] / bclk_divs[best];
+ bclk_rate = wm8994->aifclk[id] * 10 / bclk_divs[best];
dev_dbg(dai->dev, "Using BCLK_DIV %d for actual BCLK %dHz\n",
bclk_divs[best], bclk_rate);
bclk |= best << WM8994_AIF1_BCLK_DIV_SHIFT;