[alsa-devel] mcasp: stream has more channels (2) than are enabled in mcasp (0)

Peter Ujfalusi peter.ujfalusi at ti.com
Tue Apr 19 10:37:10 CEST 2016


On 04/19/16 11:05, Rick Mann wrote:
>>> Yup, seems like it's 0:
>>>
>>> [   67.876673] davinci-mcasp 48038000.mcasp: Slots: 2,
>>> max_active_serializers: 1, active_serializers: 0, channels: 2,
>>> mcasp->num_serializer: 0 [   67.889362] davinci-mcasp 48038000.mcasp: ASoC:
>>> can't set 48038000.mcasp hw params: -22
>>
>> How can it be?
>> can you take a look of the davinci_mcasp_set_pdata_from_of() function where
>> the serial-dir is set up? Do we get the of_serial_dir32? What is the size of
>> the array we got (val)?
> 
> It seems to be 0:
> 
> [    8.411990] davinci-mcasp 48038000.mcasp: davinci_mcasp_probe: enter
> [    8.453167] davinci-mcasp 48038000.mcasp: serial-dir: 0
> [    8.501317] davinci-mcasp 48038000.mcasp: invalid tdm slots: 0
> [    8.554405] davinci-mcasp 4803c000.mcasp: davinci_mcasp_probe: enter
> [    8.562924] davinci-mcasp 4803c000.mcasp: serial-dir: 0
> [    8.635250] davinci-mcasp 4803c000.mcasp: invalid tdm slots: 0

Hrm, it seems that we can not read any of the parameters set by the DT
fragment for mcasp0, my guess is that the tx-num-evt and rx-num-evt is not
there either.

from the full log: the mcasp is loaded earlier than you have patched the DT
with the audio overlay.

[    8.220175] davinci-mcasp 48038000.mcasp: davinci_mcasp_probe: enter
[    8.268496] davinci-mcasp 48038000.mcasp: invalid tdm slots: 0
[    8.323405] davinci-mcasp 4803c000.mcasp: davinci_mcasp_probe: enter
[    8.339936] davinci-mcasp 4803c000.mcasp: invalid tdm slots: 0
...
[   33.432680] bone_capemgr bone_capemgr: part_number 'BB-BONE-AUDI-02',
version 'N/A'
[   33.432719] bone_capemgr bone_capemgr: slot #4: override
[   33.432736] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[   33.432752] bone_capemgr bone_capemgr: slot #4: 'Override Board
Name,00A0,Override Manuf,BB-BONE-AUDI-02'
[   33.451729] bone_capemgr bone_capemgr: slot #4: dtbo
'BB-BONE-AUDI-02-00A0.dtbo' loaded; overlay id #0
[   33.462646] 2-0018 supply IOVDD not found, using dummy regulator
[   33.462722] 2-0018 supply DVDD not found, using dummy regulator
[   33.462779] 2-0018 supply AVDD not found, using dummy regulator
[   33.462822] 2-0018 supply DRVDD not found, using dummy regulator
[   33.484174] asoc-simple-card sound: tlv320aic3x-hifi <-> 48038000.mcasp
mapping ok
[   50.062097] davinci-mcasp 48038000.mcasp: Slots: 2, max_active_serializers:
1, active_serializers: 0, channels: 2
[   50.072596] davinci-mcasp 48038000.mcasp: stream has more channels (2) than
are enabled in mcasp (0)
[   50.072613] davinci-mcasp 48038000.mcasp: ASoC: can't set 48038000.mcasp hw
params: -22

You can try to remove the mcasp module, do the DT fragment magic, reload the
mcasp driver if it is not loaded automatically.
But if you want to get it working properly you need to find the dts(i) file
which set the mcasp0 and mcasp1 nodes to status = "okay";
In upstream we do not do this, so it must come from the bone changes.

>> BTW: can you check your mail client to wrap the lines around 78 characters?
> 
> I'm sorry, it seems to be an issue with OS X Mail. There are no settings to
> control this, despite the fact that I have it set to send "plain-text" email.
> I will try to insert hard carriage returns to shorten my typed text.
> 
> https://discussions.apple.com/thread/3040166?tstart=0


-- 
Péter


More information about the Alsa-devel mailing list