forked from Minki/linux
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:
parent
5dd17a3c3e
commit
fd14f4436f
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user