]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.19.31/asoc-fsl_esai-fix-register-setting-issue-in-right_j-mode.patch
Linux 4.19.31
[thirdparty/kernel/stable-queue.git] / releases / 4.19.31 / asoc-fsl_esai-fix-register-setting-issue-in-right_j-mode.patch
CommitLineData
eedc2696
GKH
1From cc29ea007347f39f4c5a4d27b0b555955a0277f9 Mon Sep 17 00:00:00 2001
2From: "S.j. Wang" <shengjiu.wang@nxp.com>
3Date: Mon, 18 Feb 2019 08:29:11 +0000
4Subject: ASoC: fsl_esai: fix register setting issue in RIGHT_J mode
5
6From: S.j. Wang <shengjiu.wang@nxp.com>
7
8commit cc29ea007347f39f4c5a4d27b0b555955a0277f9 upstream.
9
10The ESAI_xCR_xWA is xCR's bit, not the xCCR's bit, driver set it to
11wrong register, correct it.
12
13Fixes 43d24e76b698 ("ASoC: fsl_esai: Add ESAI CPU DAI driver")
14Cc: <stable@vger.kernel.org>
15Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
16Reviewed-by: Fabio Estevam <festevam@gmail.com>
17Ackedy-by: Nicolin Chen <nicoleotsuka@gmail.com>
18Signed-off-by: Mark Brown <broonie@kernel.org>
19Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20
21---
22 sound/soc/fsl/fsl_esai.c | 7 ++++---
23 1 file changed, 4 insertions(+), 3 deletions(-)
24
25--- a/sound/soc/fsl/fsl_esai.c
26+++ b/sound/soc/fsl/fsl_esai.c
27@@ -398,7 +398,8 @@ static int fsl_esai_set_dai_fmt(struct s
28 break;
29 case SND_SOC_DAIFMT_RIGHT_J:
30 /* Data on rising edge of bclk, frame high, right aligned */
31- xccr |= ESAI_xCCR_xCKP | ESAI_xCCR_xHCKP | ESAI_xCR_xWA;
32+ xccr |= ESAI_xCCR_xCKP | ESAI_xCCR_xHCKP;
33+ xcr |= ESAI_xCR_xWA;
34 break;
35 case SND_SOC_DAIFMT_DSP_A:
36 /* Data on rising edge of bclk, frame high, 1clk before data */
37@@ -455,12 +456,12 @@ static int fsl_esai_set_dai_fmt(struct s
38 return -EINVAL;
39 }
40
41- mask = ESAI_xCR_xFSL | ESAI_xCR_xFSR;
42+ mask = ESAI_xCR_xFSL | ESAI_xCR_xFSR | ESAI_xCR_xWA;
43 regmap_update_bits(esai_priv->regmap, REG_ESAI_TCR, mask, xcr);
44 regmap_update_bits(esai_priv->regmap, REG_ESAI_RCR, mask, xcr);
45
46 mask = ESAI_xCCR_xCKP | ESAI_xCCR_xHCKP | ESAI_xCCR_xFSP |
47- ESAI_xCCR_xFSD | ESAI_xCCR_xCKD | ESAI_xCR_xWA;
48+ ESAI_xCCR_xFSD | ESAI_xCCR_xCKD;
49 regmap_update_bits(esai_priv->regmap, REG_ESAI_TCCR, mask, xccr);
50 regmap_update_bits(esai_priv->regmap, REG_ESAI_RCCR, mask, xccr);
51