All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
To: Mark Brown <broonie@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ASoC: core: Support INPUT and OUTPUT DAPM widgets in DT
Date: Wed, 5 Aug 2026 20:16:10 +0300	[thread overview]
Message-ID: <ec5b015a-30b7-4e59-80af-f18da69e4240@gmail.com> (raw)
In-Reply-To: <1cddd05b-804b-4d91-a5ff-7c5e07903610@sirena.org.uk>



On 5.08.26 г. 19:40 ч., Mark Brown wrote:
> On Wed, Aug 05, 2026 at 05:56:25PM +0300, Ivaylo Dimitrov wrote:
> 
>> Allow the DT audio graph parser to instantiate INPUT and OUTPUT DAPM
>> widgets.
> 
>> This extends the set of DAPM widgets that can be described in DT and
>> allows modelling external audio endpoints as part of the DAPM graph.
>> This is useful for more complex topologies, such as codec-to-codec links
>> or multi-DAI audio paths, where routing through external endpoints needs
>> to be expressed using standard DAPM routes.
> 
> What specific cases do you have where one of the more specific endpoint
> types isn't suitable?

The use case is a codec-to-codec DAI connection, where the remote 
endpoint is another digital audio interface (for example a modem or 
Bluetooth codec), rather than a physical microphone, speaker or 
line-level interface.

I have an out-of-tree audio-graph-card2 based machine description for 
Motorola OMAP4 devices using the CPCAP codec together with an external 
modem codec. Without modelling the remote endpoint as a DAPM 
INPUT/OUTPUT widget, the DAPM graph is incomplete and one side of the 
codec-to-codec link does not become active as expected, so runtime PM 
does not resume one of the devices in the link during a call.

With this change, voice calls using the audio-graph-card2 based machine 
description work correctly, as the codec-to-codec DAPM path is properly 
represented.

The topology I'm referring to is here:

https://git.maemo.org/leste-upstream-forks/droid4-linux/src/branch/leste/maemo-6.18.y/arch/arm/boot/dts/ti/omap/motorola-mapphone-handset.dtsi#L65

The hardware schematic diagram is here:

https://lkml.org/lkml/2018/3/27/1225

I used INPUT/OUTPUT because they appear to be the generic DAPM endpoint 
widgets for this type of digital connection. If there is a more 
appropriate existing widget type for modelling such a remote DAI 
endpoint, I'd be happy to use that instead.

Thanks,
Ivo

  reply	other threads:[~2026-08-05 17:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-05 14:56 [PATCH] ASoC: core: Support INPUT and OUTPUT DAPM widgets in DT Ivaylo Dimitrov
2026-08-05 16:40 ` Mark Brown
2026-08-05 17:16   ` Ivaylo Dimitrov [this message]
2026-08-05 17:23     ` Mark Brown
2026-08-05 21:36       ` Ivaylo Dimitrov
2026-08-06  6:14       ` Ivaylo Dimitrov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec5b015a-30b7-4e59-80af-f18da69e4240@gmail.com \
    --to=ivo.g.dimitrov.75@gmail.com \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.