diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2019-06-20 12:20:02 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-06-20 12:59:38 +0100 |
commit | fd14f4436fd47d5418023c90e933e66d3645552e (patch) | |
tree | a30d251183b5c6f238c413445e2c663d3eafbcb6 | |
parent | 5dd17a3c3ed545f73b8bf7754efd5f6125bf7531 (diff) | |
download | linux-fd14f4436fd47d5418023c90e933e66d3645552e.tar.bz2 |
ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
If multiple serializers are connected in the system and the number of
channels will need to use more than one serializer the mask to enable the
serializers were left to 0 if tdm_mask is provided
Fixes: dd55ff8346a97 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/ti/davinci-mcasp.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sound/soc/ti/davinci-mcasp.c b/sound/soc/ti/davinci-mcasp.c index 8bec0dc4f754..62222915d632 100644 --- a/sound/soc/ti/davinci-mcasp.c +++ b/sound/soc/ti/davinci-mcasp.c @@ -946,14 +946,13 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream, active_slots = hweight32(mcasp->tdm_mask[stream]); active_serializers = (channels + active_slots - 1) / active_slots; - if (active_serializers == 1) { + if (active_serializers == 1) active_slots = channels; - for (i = 0; i < total_slots; i++) { - if ((1 << i) & mcasp->tdm_mask[stream]) { - mask |= (1 << i); - if (--active_slots <= 0) - break; - } + for (i = 0; i < total_slots; i++) { + if ((1 << i) & mcasp->tdm_mask[stream]) { + mask |= (1 << i); + if (--active_slots <= 0) + break; } } } else { |