diff options
author | Maciej S. Szmigiero <mail@maciej.szmigiero.name> | 2015-08-05 18:29:02 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-08-14 22:22:27 +0300 |
commit | dce0332c85c4d9eb5d96182c56f63cd20566f073 (patch) | |
tree | e857eae7c92ec5b7b38ea040cf3f7169b649c688 /sound/soc/fsl/fsl_ssi.c | |
parent | 8ed0c842153434fa3aeeb89d16b71ac7dc8e12ee (diff) | |
download | linux-dce0332c85c4d9eb5d96182c56f63cd20566f073.tar.xz |
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>
Diffstat (limited to 'sound/soc/fsl/fsl_ssi.c')
-rw-r--r-- | sound/soc/fsl/fsl_ssi.c | 8 |
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, scr &= ~CCSR_SSI_SCR_SYS_CLK_EN; break; default: - return -EINVAL; + if (!fsl_ssi_is_ac97(ssi_private)) + return -EINVAL; } stcr |= strcr; srcr |= strcr; - if (ssi_private->cpu_dai_drv.symmetric_rates) { - /* Need to clear RXDIR when using SYNC mode */ + if (ssi_private->cpu_dai_drv.symmetric_rates + || fsl_ssi_is_ac97(ssi_private)) { + /* Need to clear RXDIR when using SYNC or AC97 mode */ srcr &= ~CCSR_SSI_SRCR_RXDIR; scr |= CCSR_SSI_SCR_SYN; } |