[alsa-devel] [PATCH v3 1/6] ASoC: fsl_ssi: Real hardware channels max number is 32

arnaud.mouiche at invoxia.com arnaud.mouiche at invoxia.com
Mon Jan 18 16:56:00 CET 2016



Le 18/01/2016 16:46, Timur Tabi a écrit :
> Arnaud Mouiche wrote:
>> The max number of slots in TDM mode is 32:
>> - Frame Rate Divider Control is a 5bit value
>> - Time slot mask registers control 32 slots.
>>
>> Signed-off-by: Arnaud Mouiche<arnaud.mouiche at invoxia.com>
>> ---
>>   sound/soc/fsl/fsl_ssi.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
>> index 40dfd8a..cfc78b8 100644
>> --- a/sound/soc/fsl/fsl_ssi.c
>> +++ b/sound/soc/fsl/fsl_ssi.c
>> @@ -1167,14 +1167,14 @@ static struct snd_soc_dai_driver 
>> fsl_ssi_dai_template = {
>>       .playback = {
>>           .stream_name = "CPU-Playback",
>>           .channels_min = 1,
>> -        .channels_max = 2,
>> +        .channels_max = 32,
>
> TDM mode is not normally used.  What happens if we're not in TDM mode, 
> and the user tries to start a stream with more than 2 channels?
For the user point of view, the maximum of available channels (like 
available through aplay command) is the intersection of the CPU and 
Codec DAIs.
So the max will still be the max provided by the whole hardware.

In other words, if the SSI is connected to a simple 2 channels codec, 
"aplay -c 4" will still failed.
But if you build a multi-codec hardware, it will work.

Arnaud



More information about the Alsa-devel mailing list