[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191016124255.7442-1-erosca@de.adit-jv.com>
Date: Wed, 16 Oct 2019 14:42:55 +0200
From: Eugeniu Rosca <erosca@...adit-jv.com>
To: Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
Takashi Iwai <tiwai@...e.com>,
Jaroslav Kysela <perex@...ex.cz>,
Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
<linux-kernel@...r.kernel.org>, <alsa-devel@...a-project.org>
CC: Eugeniu Rosca <erosca@...adit-jv.com>,
Eugeniu Rosca <roscaeugeniu@...il.com>,
Junya Monden <jmonden@...adit-jv.com>,
Andrew Gabbasov <andrew_gabbasov@...tor.com>,
Jiada Wang <jiada_wang@...tor.com>,
Timo Wischer <twischer@...adit-jv.com>,
<stable@...r.kernel.org>
Subject: [PATCH] ASoC: rsnd: Reinitialize bit clock inversion flag for every format setting
From: Junya Monden <jmonden@...adit-jv.com>
Unlike other format-related DAI parameters, rdai->bit_clk_inv flag
is not properly re-initialized when setting format for new stream
processing. The inversion, if requested, is then applied not to default,
but to a previous value, which leads to SCKP bit in SSICR register being
set incorrectly.
Fix this by re-setting the flag to its initial value, determined by format.
Fixes: 1a7889ca8aba3 ("ASoC: rsnd: fixup SND_SOC_DAIFMT_xB_xF behavior")
Cc: Andrew Gabbasov <andrew_gabbasov@...tor.com>
Cc: Jiada Wang <jiada_wang@...tor.com>
Cc: Timo Wischer <twischer@...adit-jv.com>
Cc: stable@...r.kernel.org # v3.17+
Signed-off-by: Junya Monden <jmonden@...adit-jv.com>
Signed-off-by: Eugeniu Rosca <erosca@...adit-jv.com>
---
sound/soc/sh/rcar/core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
index bda5b958d0dc..e9596c2096cd 100644
--- a/sound/soc/sh/rcar/core.c
+++ b/sound/soc/sh/rcar/core.c
@@ -761,6 +761,7 @@ static int rsnd_soc_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
}
/* set format */
+ rdai->bit_clk_inv = 0;
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_I2S:
rdai->sys_delay = 0;
--
2.23.0
Powered by blists - more mailing lists