summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/fsl_ssi.c
diff options
context:
space:
mode:
authorMaciej S. Szmigiero2017-11-22 00:55:14 +0100
committerMark Brown2017-11-29 11:39:27 +0100
commitc997a92a78161af605b314cbe6cf636663999652 (patch)
tree0ecd15e3fd9b42bbe475fa7095800151a0a0d6ce /sound/soc/fsl/fsl_ssi.c
parentASoC: fsl_ssi: remove duplicated flag setting in fsl_ssi_setup_reg_vals() (diff)
downloadkernel-qcow2-linux-c997a92a78161af605b314cbe6cf636663999652.tar.gz
kernel-qcow2-linux-c997a92a78161af605b314cbe6cf636663999652.tar.xz
kernel-qcow2-linux-c997a92a78161af605b314cbe6cf636663999652.zip
ASoC: fsl_ssi: call _fsl_ssi_set_dai_fmt() just once in AC'97 mode
In AC'97 mode we configure and start SSI RX / TX on probe path via a call to _fsl_ssi_set_dai_fmt() function. We don't need to call this function again later and in fact don't want to do it since this function temporarily sets STCR, SRCR and SCR to some intermediate values. Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> 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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 9e97a0529f37..939d1b8894dc 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -1079,6 +1079,9 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
{
struct fsl_ssi_private *ssi_private = snd_soc_dai_get_drvdata(cpu_dai);
+ if (fsl_ssi_is_ac97(ssi_private))
+ return 0;
+
return _fsl_ssi_set_dai_fmt(cpu_dai->dev, ssi_private, fmt);
}