Skip to content

Commit 39bd801

Browse files
rfvirgilbroonie
authored andcommitted
ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open()
The DAI tx_mask and rx_mask are set by snd_soc_dai_set_tdm_slot() and used by later code that depends on the TDM settings. So __soc_pcm_open() should not be obliterating those mask values. The code in __soc_pcm_hw_params() uses these masks to calculate the active channels so that only the AIF_IN/AIF_OUT widgets for the active TDM slots are enabled. The zeroing of the masks in __soc_pcm_open() disables this functionality so all AIF widgets were enabled even for channels that are not assigned to a TDM slot. Signed-off-by: Richard Fitzgerald <[email protected]> Fixes: 2e5894d ("ASoC: pcm: Add support for DAI multicodec") Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 0bb8e9b commit 39bd801

File tree

1 file changed

+0
-5
lines changed

1 file changed

+0
-5
lines changed

sound/soc/soc-pcm.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -822,11 +822,6 @@ static int __soc_pcm_open(struct snd_soc_pcm_runtime *rtd,
822822
ret = snd_soc_dai_startup(dai, substream);
823823
if (ret < 0)
824824
goto err;
825-
826-
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
827-
dai->tx_mask = 0;
828-
else
829-
dai->rx_mask = 0;
830825
}
831826

832827
/* Dynamic PCM DAI links compat checks use dynamic capabilities */

0 commit comments

Comments
 (0)