Commit 63f47d2b authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Greg Kroah-Hartman

ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs

[ Upstream commit fd14f443 ]

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>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent b977cc31
...@@ -874,7 +874,7 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream, ...@@ -874,7 +874,7 @@ 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]) {
...@@ -883,7 +883,6 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream, ...@@ -883,7 +883,6 @@ static int mcasp_i2s_hw_param(struct davinci_mcasp *mcasp, int stream,
break; break;
} }
} }
}
} else { } else {
active_serializers = (channels + total_slots - 1) / total_slots; active_serializers = (channels + total_slots - 1) / total_slots;
if (active_serializers == 1) if (active_serializers == 1)
......
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