ASoC: ti: davinci-i2s: Enable unexpected frame pulses detection
authorBastien Curutchet <bastien.curutchet@bootlin.com>
Tue, 2 Apr 2024 07:12:09 +0000 (09:12 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 9 Apr 2024 15:58:40 +0000 (16:58 +0100)
McBSP can generate a SYNCERR when unexpected frame pulses are
detected. The driver always disables this feature and ignore the
unexpected frame pulses.

Enable the generation of SYNCERR by the McBSP. Unexpected frame
pulses are not ignored anymore.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://msgid.link/r/20240402071213.11671-10-bastien.curutchet@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/davinci-i2s.c

index e51f05cda941032a7abe3275001d94c2e64accd2..82a0dfa07cec4fda73696666862c8e6023dfbd78 100644 (file)
@@ -441,8 +441,10 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
        struct davinci_mcbsp_dev *dev = snd_soc_dai_get_drvdata(dai);
        struct snd_interval *i = NULL;
        int mcbsp_word_length, master;
-       unsigned int rcr, xcr, clk_div, freq, framesize;
+       unsigned int clk_div, freq, framesize;
        unsigned int srgr = 0;
+       unsigned int rcr = 0;
+       unsigned int xcr = 0;
        u32 spcr;
        snd_pcm_format_t fmt;
        unsigned element_cnt = 1;
@@ -539,8 +541,6 @@ static int davinci_i2s_hw_params(struct snd_pcm_substream *substream,
        }
        davinci_mcbsp_write_reg(dev, DAVINCI_MCBSP_SRGR_REG, srgr);
 
-       rcr = DAVINCI_MCBSP_RCR_RFIG;
-       xcr = DAVINCI_MCBSP_XCR_XFIG;
        if (dev->mode == MOD_DSP_B) {
                rcr |= DAVINCI_MCBSP_RCR_RDATDLY(0);
                xcr |= DAVINCI_MCBSP_XCR_XDATDLY(0);