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: dd55ff8346 ("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>
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user