From: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
To: Charles Keepax <ckeepax@opensource.cirrus.com>, broonie@kernel.org
Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com,
peter.ujfalusi@linux.intel.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org, patches@opensource.cirrus.com
Subject: Re: [PATCH 1/3] ASoC: SDCA: Create DAPM widgets and routes from DisCo
Date: Mon, 24 Mar 2025 16:15:24 -0500 [thread overview]
Message-ID: <2b899796-b9fc-49ef-a4a7-858baa90a36b@linux.dev> (raw)
In-Reply-To: <20250321163928.793301-2-ckeepax@opensource.cirrus.com>
Thanks for starting this Charles.
> Use the previously parsed DisCo information from ACPI to create DAPM
> widgets and routes representing a SDCA Function. For the most part SDCA
> maps well to the DAPM abstractions.
except when it doesn't, eh?
> The primary point of interest is the SDCA Power Domain Entities
> (PDEs), which actually control the power status of the device. Whilst
> these PDEs are the primary widgets the other parts of the SDCA graph
> are added to maintain a consistency with the hardware abstract, and
> allow routing to take effect.
>
> Other minor points of slightly complexity include, the Group Entities
> (GEs) these set the value of several other controls, typically
> Selector Units (SUs) for enabling a cetain jack configuration. These
> are easily modelled creating a single control and sharing it among
> the controlled muxes.
It wasn't able to follow the last sentence, what are 'these'?
I am not sure we can expose and control any SUs since their configuration is set in hardware depending on the GE settings. IIRC the SU values should be considered as read-only.
> SDCA also has a slight habit of having fully connected paths, relying
> more on activating the PDEs to enable functionality. This doesn't map
> quite so perfectly to DAPM which considers the path a reason to power
> the PDE. Whilst in the current specification Mixer Units are defined as
> fixed-function, in DAPM we create a virtual control for each input. This
> allows paths to be connected/disconnected, providing a more ASoC style
> approach to managing the power.
Humm, maybe my analysis was too naive but the SDCA PDE seemed like a DAPM power supply to me.
When a path becomes active, DAPM turns on the power for you, and power is turned off some time after the path becomes inactive.
Why would we need to have a control to force the power to be turned on?
And there are quite a few topologies without any Mixer Units so can we depend on a solution that's not applicable across all topologies?
And last PDEs are typically related to terminals, while Mixer Units are usually for host-generated streams.
It would also help to define which power levels you wanted to control for PDEs. For me, only PS0 and PS3 can currently be modeled, I have no idea how PS1 with its degraded quality would be used, and PS2 depends on firmware.
next prev parent reply other threads:[~2025-03-24 21:23 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-21 16:39 [PATCH 0/3] Add DAPM/ASoC helpers to create SDCA drivers Charles Keepax
2025-03-21 16:39 ` [PATCH 1/3] ASoC: SDCA: Create DAPM widgets and routes from DisCo Charles Keepax
2025-03-24 21:15 ` Pierre-Louis Bossart [this message]
2025-03-25 11:19 ` Charles Keepax
2025-03-25 21:10 ` Pierre-Louis Bossart
2025-03-26 10:14 ` Charles Keepax
2025-04-14 19:43 ` Pierre-Louis Bossart
2025-04-16 9:41 ` Charles Keepax
2025-03-25 16:27 ` Charles Keepax
2025-03-21 16:39 ` [PATCH 2/3] ASoC: SDCA: Create ALSA controls " Charles Keepax
2025-03-21 16:39 ` [PATCH 3/3] ASoC: SDCA: Create DAI drivers " Charles Keepax
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=2b899796-b9fc-49ef-a4a7-858baa90a36b@linux.dev \
--to=pierre-louis.bossart@linux.dev \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=peter.ujfalusi@linux.intel.com \
--cc=yung-chuan.liao@linux.intel.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.