Which piece of code adds the prefix "x" in /sys/kernel/debug/asoc/jetson-xaviernx-ape/<codec>/dapm/?

I am trying to integrate a CS47L35 codec from Cirrus Logic to the Xavier NX. In /sys/kernel/debug/asoc/jetson-xaviernx-ape/codec:cs47l35-codec/dapm/, I see the prefix “x” in the widgets. So I wanted to know which piece of code adds that prefix.

 bias_level			 'x AIF3TX1'			  'x DSP1R Input 4'		 'x EQ3 Input 2'		    'x ISRC2INT4 Input 1'	       'x SLIMTX1 Mixer'
'x AEC1 Loopback'		 'x AIF3TX1 Input 1'		  'x DSP1R Input 4 Autodisable'  'x EQ3 Input 2 Autodisable'	    'x ISRC2INT4 Input 1 Autodisable'  'x SLIMTX2'
'x AEC2 Loopback'		 'x AIF3TX1 Input 1 Autodisable'  'x DSP1R Mixer'		 'x EQ3 Input 3'		    'x ISRC2INTCLK'		       'x SLIMTX2 Input 1'
'x AIF1 Capture'		 'x AIF3TX1 Input 2'		  'x DSP1 Trigger Output'	 'x EQ3 Input 3 Autodisable'	    'x LHPF1'			       'x SLIMTX2 Input 1 Autodisable'
'x AIF1 Playback'		 'x AIF3TX1 Input 2 Autodisable'  'x DSP2'			 'x EQ3 Input 4'		    'x LHPF1 Input 1'		       'x SLIMTX2 Input 2'

Thanks,
Abhigyan

Hi Abhigyan,

In DTS file, in the sound node, you would have added a dai link connecting desired codec dai(cs47l35 in your case) and i2s. The “name-prefix” property of the dai-link specifies the prefix for the dapm widgets specific to the dai-link path. This shall be internally parsed by kernel sound drivers.

“Configure DAPM Routes” subsection at link offers detailed description. Please note

Thanks

I have been told that prefixing is slightly bugged in the core on the 4.9 kernel (which I am using). So I wanted to know which piece of code adds it. I have been going through the kernel code and I think tegra_asoc_populate_codec_confs() in the nvidia/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c file is responsible for this… So can you please verify this?

Thanks,
Abhigyan

Hi Abhigyan,

Prefix should be unique to each dai-link. Other than this restriction, its working fine AFAIK.

I have been told that prefixing is slightly bugged in the core on the 4.9 kernel (which I am using)
where is this mentioned? Any reference?

Thanks

Hi, “git show ae4fc532244b” on git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git should be the one.

Thanks.

Hi Abhigyan,

If your target is integration of codec, please specify the name-prefix correctly and codec integration will wor kfine provided your routes and other relevant props are fine

tegra_asoc_populate_codec_confs() populates the codec info field((of which name-prefix is one). To understand further usage of the field, you might need to explore code further including alsa core

Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.