aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <mail@maciej.szmigiero.name>2015-08-05 11:29:02 -0400
committerMark Brown <broonie@kernel.org>2015-08-14 15:22:27 -0400
commitdce0332c85c4d9eb5d96182c56f63cd20566f073 (patch)
treee857eae7c92ec5b7b38ea040cf3f7169b649c688
parent8ed0c842153434fa3aeeb89d16b71ac7dc8e12ee (diff)
ASoC: fsl_ssi: adjust set DAI format in AC'97 mode
Adjust set DAI format function in fsl_ssi driver so it doesn't fail and clears RXDIR in AC'97 mode. Signed-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/fsl/fsl_ssi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index e79dc162006e..f03d57eb784c 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -900,14 +900,16 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
900 scr &= ~CCSR_SSI_SCR_SYS_CLK_EN; 900 scr &= ~CCSR_SSI_SCR_SYS_CLK_EN;
901 break; 901 break;
902 default: 902 default:
903 return -EINVAL; 903 if (!fsl_ssi_is_ac97(ssi_private))
904 return -EINVAL;
904 } 905 }
905 906
906 stcr |= strcr; 907 stcr |= strcr;
907 srcr |= strcr; 908 srcr |= strcr;
908 909
909 if (ssi_private->cpu_dai_drv.symmetric_rates) { 910 if (ssi_private->cpu_dai_drv.symmetric_rates
910 /* Need to clear RXDIR when using SYNC mode */ 911 || fsl_ssi_is_ac97(ssi_private)) {
912 /* Need to clear RXDIR when using SYNC or AC97 mode */
911 srcr &= ~CCSR_SSI_SRCR_RXDIR; 913 srcr &= ~CCSR_SSI_SRCR_RXDIR;
912 scr |= CCSR_SSI_SCR_SYN; 914 scr |= CCSR_SSI_SCR_SYN;
913 } 915 }