diff options
author | Jassi <jassi.brar@samsung.com> | 2009-09-18 02:22:27 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2009-09-18 10:09:37 -0400 |
commit | b1cd6b9ec7c749ddfad628c8c12659591ae195e6 (patch) | |
tree | 4b9caed2f0995780c038b1b10114810ac71a47e0 /sound/soc/s3c24xx/s3c64xx-i2s.c | |
parent | 8bb014895547eeeb9aa61a654f24e41e15919304 (diff) |
ASoC: Return correct codec clock in s3c64xx-i2s
Instead of always returnig pointer to the 'audio-bus' clock,
check which clock is used to generate internal clocks and
then return it's pointer.
Signed-off-by: Jassi <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/s3c24xx/s3c64xx-i2s.c')
-rw-r--r-- | sound/soc/s3c24xx/s3c64xx-i2s.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c index aaf452096be2..43fb253a3429 100644 --- a/sound/soc/s3c24xx/s3c64xx-i2s.c +++ b/sound/soc/s3c24xx/s3c64xx-i2s.c | |||
@@ -124,8 +124,12 @@ static int s3c64xx_i2s_set_sysclk(struct snd_soc_dai *cpu_dai, | |||
124 | struct clk *s3c64xx_i2s_get_clock(struct snd_soc_dai *dai) | 124 | struct clk *s3c64xx_i2s_get_clock(struct snd_soc_dai *dai) |
125 | { | 125 | { |
126 | struct s3c_i2sv2_info *i2s = to_info(dai); | 126 | struct s3c_i2sv2_info *i2s = to_info(dai); |
127 | u32 iismod = readl(i2s->regs + S3C2412_IISMOD); | ||
127 | 128 | ||
128 | return i2s->iis_cclk; | 129 | if (iismod & S3C64XX_IISMOD_IMS_SYSMUX) |
130 | return i2s->iis_cclk; | ||
131 | else | ||
132 | return i2s->iis_pclk; | ||
129 | } | 133 | } |
130 | EXPORT_SYMBOL_GPL(s3c64xx_i2s_get_clock); | 134 | EXPORT_SYMBOL_GPL(s3c64xx_i2s_get_clock); |
131 | 135 | ||