diff options
author | Vishal Thanki <vishalthanki@gmail.com> | 2018-05-11 14:33:37 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-05-17 08:46:22 +0200 |
commit | 096a8f835e7d19f0402386353586d285566eee06 (patch) | |
tree | fe11bc6137c5601005918e2cc2b67b2aff35d940 /sound/soc/davinci | |
parent | ASoC: Intel: bytcr_rt5640: Set card long_name based on quirks (diff) | |
download | linux-096a8f835e7d19f0402386353586d285566eee06.tar.xz linux-096a8f835e7d19f0402386353586d285566eee06.zip |
ASoC: davinci-mcasp: Only disable inactive serializer
As a side effect of the following commit, the active TX
serializer may get disabled which may result in distorted
audio output.
ASoC: davinci-mcasp: Add support for multichannel playback
(2952b27e2e463b28d5c0f04000f96b968137ca42)
For example, if a 4 channel I2S playback with two TX serializers
is activated. Later on, if a recording of 2 channels, with only 1 RX
serializer is started, which will also disable one of the TX
serializer because max_active_serializers is only calculated for
RX (recording) stream. This patch fixes this issue.
Signed-off-by: Vishal Thanki <vishalthanki@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/davinci')
-rw-r--r-- | sound/soc/davinci/davinci-mcasp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index 79fc4aa2fa29..1f96c9dbe9c4 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c @@ -789,7 +789,7 @@ static int mcasp_common_hw_param(struct davinci_mcasp *mcasp, int stream, rx_ser < max_active_serializers) { mcasp_clr_bits(mcasp, DAVINCI_MCASP_PDIR_REG, AXR(i)); rx_ser++; - } else { + } else if (mcasp->serial_dir[i] == INACTIVE_MODE) { mcasp_mod_bits(mcasp, DAVINCI_MCASP_XRSRCTL_REG(i), SRMOD_INACTIVE, SRMOD_MASK); } |