ASoC: davinci-mcasp: Only disable inactive serializer
PATCH 1/1 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 <[email protected]>
Acked-by Peter Ujfalusi <[email protected]>
--- sound/soc/davinci/davinci-mcasp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
sound/soc/davinci/davinci-mcasp.c +1 -1
@@ -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 ); }
Signature · 1 line
2.7.4