MLK-14447: ASoC: fsl_ssi: Fix Capture and Playback with i2s mode
authorShengjiu Wang <shengjiu.wang@freescale.com>
Tue, 14 Mar 2017 05:09:55 +0000 (13:09 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:21:58 +0000 (15:21 -0500)
Fixes: 95461157dea0 ("MLK-14316 ASoC: fsl_ssi: Fix playback and capture
with mono stream")

This commit (95461157dea0) cause a side effect for i2s mode, for it clears
the setting of I2S_MODE, the basic idea is the set_fmt() function should
not touch the I2S_MODE and NET mode of SCR.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
sound/soc/fsl/fsl_ssi.c

index fb90c27..10d51e4 100644 (file)
@@ -3,7 +3,8 @@
  *
  * Author: Timur Tabi <timur@freescale.com>
  *
- * Copyright 2007-2015 Freescale Semiconductor, Inc.
+ * Copyright 2007-2015, Freescale Semiconductor, Inc.
+ * Copyright 2017 NXP
  *
  * This file is licensed under the terms of the GNU General Public License
  * version 2.  This program is licensed "as is" without any warranty of any
@@ -953,7 +954,7 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
        fsl_ssi_setup_reg_vals(ssi_private);
 
        regmap_read(regs, CCSR_SSI_SCR, &scr);
-       scr &= ~(CCSR_SSI_SCR_SYN | CCSR_SSI_SCR_I2S_MODE_MASK);
+       scr &= ~CCSR_SSI_SCR_SYN;
        scr |= CCSR_SSI_SCR_SYNC_TX_FS;
 
        mask = CCSR_SSI_STCR_TXBIT0 | CCSR_SSI_STCR_TFDIR | CCSR_SSI_STCR_TXDIR |