Patch "ASoC: zx-i2s: flip I2S master/slave mode" has been added to the 4.12-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
ASoC: zx-i2s: flip I2S master/slave mode
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
asoc-zx-i2s-flip-i2s-master-slave-mode.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
a205c159f9e2db586a5ea475f4d22fa22e78fed8Mon Sep 17 00:00:00 2001
From: Shawn Guo <[email protected]>
Date: Sat, 17 Jun 2017 22:25:28 +0800
Subject: ASoC: zx-i2s: flip I2S master/slave mode
From: Shawn Guo <[email protected]>
commit a205c159f9e2db586a5ea475f4d22fa22e78fed8 upstream.
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.
--- sound/soc/zte/zx-i2s.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
sound/soc/zte/zx-i2s.c +6 -4
@@ -203,13 +203,15 @@ static int zx_i2s_set_fmt(struct snd_socswitch (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 ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/asoc-zx-i2s-flip-i2s-master-slave-mode.patch