[alsa-devel] Bug in 3.10 alsa routing?

Lars-Peter Clausen lars at metafoo.de
Mon Aug 15 11:51:39 CEST 2016


On 08/13/2016 08:39 PM, noman pouigt wrote:
> Hello folks,
> 
> I am working on enabling a new alsa codec driver and
> I am stuck with this below routing problem.
> 
> SND_SOC_DAPM_AIF_OUT("AIF1TX1",)
> 
>         { "AIF3RX1", NULL, "AIF3 Playback" },
>         { "AIF1TX1 Input 1", NULL, "AIF3RX1" },
>         { "AIF1TX1", AIF1TX1, "AIF1TX1 Input 1" },
>         { "AIF1TX1", AIF1TX2, "AIF1TX1 Input 1" },
>         { "AIF1 Capture", NULL, "AIF1TX1" },
> 
> AIF3 Playback and AIF1 Capture is stream name of AIF3
> and AIF1 dai respectively.
> 
> After setting the paths using mixer command and triggering
> AIF3 playback dai, I see that it is not powering AIF3 Playback widget.
> 
> After debugging I found the problem to be that ALSA core searches
> for physically connected or active widget path before it
> can power on the widget. So I think the codec developer wanted
> me start the AIF1 capturing to turn on the whole path. However in our
> system we just want to connect AIF3RX1 to AIF1TX1.

Hi,

DAPM will power up a path if there is a connection between an active sink
and a active source. The playback widget is a source, the capture widget is
a sink. So if both of them are active you should see them power up. If only
one of them is active the system will stay powered down.

Maybe this presentation is also helpful:
http://events.linuxfoundation.org/sites/events/files/slides/dapm.pdf

- Lars



More information about the Alsa-devel mailing list