Commit b3d7615f authored by Giridhar Maruthy's avatar Giridhar Maruthy Committed by Mark Brown

ASoC: SAMSUNG: 24-bit audio playback on Exynos4210

Using 256fs or 512fs will result in distortion of 24-bit
audio samples. This is because the lrclk generated is not
proper. Using 384 fs generates proper output.
Signed-off-by: default avatarGiridhar Maruthy <giridhar.maruthy@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent f05bdb8b
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
#include "../codecs/wm8994.h" #include "../codecs/wm8994.h"
#include <sound/pcm_params.h>
/* /*
* Default CFG switch settings to use this driver: * Default CFG switch settings to use this driver:
...@@ -44,7 +45,9 @@ static int smdk_hw_params(struct snd_pcm_substream *substream, ...@@ -44,7 +45,9 @@ static int smdk_hw_params(struct snd_pcm_substream *substream,
int ret; int ret;
/* AIF1CLK should be >=3MHz for optimal performance */ /* AIF1CLK should be >=3MHz for optimal performance */
if (params_rate(params) == 8000 || params_rate(params) == 11025) if (params_format(params) == SNDRV_PCM_FORMAT_S24_LE)
pll_out = params_rate(params) * 384;
else if (params_rate(params) == 8000 || params_rate(params) == 11025)
pll_out = params_rate(params) * 512; pll_out = params_rate(params) * 512;
else else
pll_out = params_rate(params) * 256; pll_out = params_rate(params) * 256;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment