[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