forked from luck/tmp_suning_uos_patched
ASoC: zx-i2s: flip I2S master/slave mode
The SND_SOC_DAIFMT_MASTER bits are defined to specify the master/slave mode for Codec, not I2S. So the I2S master/slave mode should be flipped according to SND_SOC_DAIFMT_MASTER bits. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
This commit is contained in:
parent
6a9a440681
commit
a205c159f9
|
@ -203,13 +203,15 @@ static int zx_i2s_set_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
|
|||
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
i2s->master = 1;
|
||||
val |= ZX_I2S_TIMING_MAST;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
/* Codec is master, and I2S is slave. */
|
||||
i2s->master = 0;
|
||||
val |= ZX_I2S_TIMING_SLAVE;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
/* Codec is slave, and I2S is master. */
|
||||
i2s->master = 1;
|
||||
val |= ZX_I2S_TIMING_MAST;
|
||||
break;
|
||||
default:
|
||||
dev_err(cpu_dai->dev, "Unknown master/slave format\n");
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue
Block a user