Commit fd14f443 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

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: dd55ff83 ("ASoC: davinci-mcasp: Add set_tdm_slots() support")
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5dd17a3c
...@@ -946,14 +946,13 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream, ...@@ -946,14 +946,13 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream,
active_slots = hweight32(mcasp->tdm_mask[stream]); active_slots = hweight32(mcasp->tdm_mask[stream]);
active_serializers = (channels + active_slots - 1) / active_serializers = (channels + active_slots - 1) /
active_slots; active_slots;
if (active_serializers == 1) { if (active_serializers == 1)
active_slots = channels; active_slots = channels;
for (i = 0; i < total_slots; i++) { for (i = 0; i < total_slots; i++) {
if ((1 << i) & mcasp->tdm_mask[stream]) { if ((1 << i) & mcasp->tdm_mask[stream]) {
mask |= (1 << i); mask |= (1 << i);
if (--active_slots <= 0) if (--active_slots <= 0)
break; break;
}
} }
} }
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment