aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Russell <[email protected]>2020-11-06 09:59:05 -0500
committerMark Brown <[email protected]>2020-11-18 18:00:24 +0000
commitb88b31f4fa0abcd698045362d4aefcddc50cba59 (patch)
tree865d721a1ce51b360a3e6a892edb017765f31fae
parenta5ec7c9e007b1095d04146eb94bac3863d35a69d (diff)
ASoC: mmp-sspa: clear transmit phase bit for non-stereo formats
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
-rw-r--r--sound/soc/pxa/mmp-sspa.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c
index 4255851c71c1..52d4d8ace1c3 100644
--- a/sound/soc/pxa/mmp-sspa.c
+++ b/sound/soc/pxa/mmp-sspa.c
@@ -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;