[alsa-devel] [PATCH 4/4] ASoC: rx1950: Fix clkdiv for 16khz and 48khz

Vasily Khoruzhick anarsoul at gmail.com
Tue Sep 7 16:04:18 CEST 2010


Usage of 256 as clkdiv gives better rounding error (<1%)
for 16khz and 48khz

Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
---
 sound/soc/s3c24xx/rx1950_uda1380.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/s3c24xx/rx1950_uda1380.c b/sound/soc/s3c24xx/rx1950_uda1380.c
index 9552296..ffd5cf2 100644
--- a/sound/soc/s3c24xx/rx1950_uda1380.c
+++ b/sound/soc/s3c24xx/rx1950_uda1380.c
@@ -171,9 +171,9 @@ static int rx1950_hw_params(struct snd_pcm_substream *substream,
 	case 16000:
 	case 48000:
 		clk_source = S3C24XX_CLKSRC_PCLK;
-		fs_mode = S3C2410_IISMOD_384FS;
-		div = s3c24xx_i2s_get_clockrate() / (384 * rate);
-		if (s3c24xx_i2s_get_clockrate() % (384 * rate) > (182 * rate))
+		fs_mode = S3C2410_IISMOD_256FS;
+		div = s3c24xx_i2s_get_clockrate() / (256 * rate);
+		if (s3c24xx_i2s_get_clockrate() % (256 * rate) > (128 * rate))
 			div++;
 		break;
 	case 44100:
-- 
1.7.2.2



More information about the Alsa-devel mailing list