ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
[ Upstream commitfd14f4436f] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b977cc31da
commit
63f47d2b2d
1 changed files with 6 additions and 7 deletions
|
|
@ -874,14 +874,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…
Add table
Add a link
Reference in a new issue