提交 b3d7615f 编写于 作者: G Giridhar Maruthy 提交者: 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: NGiridhar Maruthy <giridhar.maruthy@linaro.org>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册