[alsa-devel] [PATCH 1/1] ASoC: davinci-mcasp: Only disable inactive serializer

Peter Ujfalusi peter.ujfalusi at ti.com
Mon Mar 5 13:42:29 CET 2018



On 2018-02-27 16:51, Vishal Thanki wrote:
> 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.

Acked-by: Peter Ujfalusi <peter.ujfalusi at ti.com>

> Signed-off-by: Vishal Thanki <vishalthanki at gmail.com>
> ---
>  sound/soc/davinci/davinci-mcasp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
> index 03ba218160ca..f382dd55cae0 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);
>  		}
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the Alsa-devel mailing list