summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJianqun <jay.xu@rock-chips.com>2014-09-13 02:41:03 +0200
committerMark Brown <broonie@kernel.org>2014-09-13 18:34:16 +0200
commit07833d88314c496f8a136c6e4b4729c69e65b878 (patch)
treebdde10dd711b461368564deb11d0dc90451f6c42
parentLinux 3.17-rc1 (diff)
downloadlinux-07833d88314c496f8a136c6e4b4729c69e65b878.tar.xz
linux-07833d88314c496f8a136c6e4b4729c69e65b878.zip
ASoC: rockchip-i2s: fix master mode set bit error
Fix error format set to I2S master or slave mode. Test on RK3288 board with max98090. Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/rockchip/rockchip_i2s.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
index 8d8e4b59049f..870a6645c782 100644
--- a/sound/soc/rockchip/rockchip_i2s.c
+++ b/sound/soc/rockchip/rockchip_i2s.c
@@ -165,13 +165,14 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
struct rk_i2s_dev *i2s = to_info(cpu_dai);
unsigned int mask = 0, val = 0;
- mask = I2S_CKR_MSS_SLAVE;
+ mask = I2S_CKR_MSS_MASK;
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBS_CFS:
- val = I2S_CKR_MSS_SLAVE;
+ /* Set source clock in Master mode */
+ val = I2S_CKR_MSS_MASTER;
break;
case SND_SOC_DAIFMT_CBM_CFM:
- val = I2S_CKR_MSS_MASTER;
+ val = I2S_CKR_MSS_SLAVE;
break;
default:
return -EINVAL;