ASoC: mmp-sspa: clear transmit phase bit for non-stereo formats
authorKyle Russell <bkylerussell@gmail.com>
Fri, 6 Nov 2020 14:59:05 +0000 (09:59 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 18 Nov 2020 18:00:24 +0000 (18:00 +0000)
The transmit phase register value is never cleared during hw params.
So once hw params sets this bit to handle a two channel format, it
remains configured for dual-phase, which is not desirable for mono
playback.

Signed-off-by: Kyle Russell <bkylerussell@gmail.com>
Link: https://lore.kernel.org/r/20201106145905.365903-1-bkylerussell@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/pxa/mmp-sspa.c

index 4255851c71c1b72d2bb87b6a2343d05f4492089e..52d4d8ace1c3d188dfab66feadc379d8059bb283 100644 (file)
@@ -239,6 +239,7 @@ static int mmp_sspa_hw_params(struct snd_pcm_substream *substream,
                return -EINVAL;
        }
 
+       sspa_ctrl &= ~SSPA_CTL_XPH;
        if (dev->of_node || params_channels(params) == 2)
                sspa_ctrl |= SSPA_CTL_XPH;