From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Cc: Niranjan H Y <niranjan.hy@ti.com>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
broonie@kernel.org, lgirdwood@gmail.com, perex@perex.cz,
tiwai@suse.com, cezary.rojewski@intel.com,
peter.ujfalusi@linux.intel.com, yung-chuan.liao@linux.intel.com,
ranjani.sridharan@linux.intel.com, kai.vehmanen@linux.intel.com,
baojun.xu@ti.com, shenghao-ding@ti.com, sandeepk@ti.com,
v-hampiholi@ti.com
Subject: Re: [PATCH v10 1/4] ASoC: SDCA: Add PDE state transition helper
Date: Wed, 22 Apr 2026 09:26:10 +0100 [thread overview]
Message-ID: <aeiGIpYwZz/dBuqQ@opensource.cirrus.com> (raw)
In-Reply-To: <e13e6934-fb5b-4ea3-8517-85d482ad25da@linux.dev>
On Tue, Apr 21, 2026 at 06:21:09PM +0200, Pierre-Louis Bossart wrote:
> On 4/21/26 17:57, Charles Keepax wrote:
> > On Tue, Apr 21, 2026 at 09:18:01PM +0530, Niranjan H Y wrote:
> >> Per SDCA specification, after writing REQUESTED_PS, drivers must
> >> poll ACTUAL_PS until the target power state is reached.
> >> Implement sdca_asoc_set_pde_state_sync() helper function for
> >> changing the power state of the PDE widget and wait for the power
> >> transition to happen or timeout.
> >>
> >> Changes include:
> >> - Add sdca_asoc_set_pde_poll_sync() to handle write
> >> REQUESTED_PS register and poll ACTUAL_PS register until
> >> the target state is reached or timed out.
> >> - Export function via sdca_asoc.h for use by SDCA-compliant drivers
> >> - Refactor entity_pde_event() in sdca_asoc.c to use the helper
> >>
> >> Signed-off-by: Niranjan H Y <niranjan.hy@ti.com>
> >> ---
> >> static int entity_parse_pde(struct device *dev,
> >> @@ -449,8 +492,8 @@ static int entity_parse_pde(struct device *dev,
> >> }
> >>
> >> (*widget)->id = snd_soc_dapm_supply;
> >> - (*widget)->reg = SDW_SDCA_CTL(function->desc->adr, entity->id, control->sel, 0);
> >> - (*widget)->mask = GENMASK(control->nbits - 1, 0);
> >> + (*widget)->reg = SND_SOC_NOPM;
> >> + (*widget)->mask = 0;
> >
> > Hmm... yeah I am really sorry I totally overlooked this. Yeah we
> > should leave the write outside the helper it is much nicer to
> > have DAPM do it.
>
> Not following that comment, there are quite a few codecs that
> trap a DAPM event, do a regmap_write then wait with a loop,
> see e.g. rt722_sdca_pde47_event
If you have a good reason to do the write manually you can
(typically because it needs sequencing with other writes), but
generally if the DAPM widget can do the write its better to do it
that way. Just cleaner.
Apologies totally my bad on this I should have realised the
implications of this change the first time.
> I haven't seen DAPM deal directly with the write?
> what am I missing?
That is what is happening in the above code setting the
reg/mask/on_val/off_val, DAPM uses that information to do the
register write.
Thanks,
Charles
next prev parent reply other threads:[~2026-04-22 8:26 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 15:48 [PATCH v10 1/4] ASoC: SDCA: Add PDE state transition helper Niranjan H Y
2026-04-21 15:48 ` [PATCH v10 2/4] ASoC: tac5xx2-sdw: add soundwire based codec driver Niranjan H Y
2026-04-21 15:48 ` [PATCH v10 3/4] ASoC: sdw_utils: TI amp utility for tac5xx2 family Niranjan H Y
2026-04-21 15:48 ` [PATCH v10 4/4] ASoC: tac5xx2-sdw: ACPI match for intel mtl platform Niranjan H Y
2026-04-21 15:57 ` [PATCH v10 1/4] ASoC: SDCA: Add PDE state transition helper Charles Keepax
2026-04-21 16:21 ` Pierre-Louis Bossart
2026-04-22 8:26 ` Charles Keepax [this message]
2026-04-22 10:39 ` [EXTERNAL] " Holalu Yogendra, Niranjan
2026-04-22 17:56 ` Pierre-Louis Bossart
2026-04-23 8:52 ` Charles Keepax
2026-04-23 12:47 ` Pierre-Louis Bossart
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=aeiGIpYwZz/dBuqQ@opensource.cirrus.com \
--to=ckeepax@opensource.cirrus.com \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=niranjan.hy@ti.com \
--cc=perex@perex.cz \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--cc=ranjani.sridharan@linux.intel.com \
--cc=sandeepk@ti.com \
--cc=shenghao-ding@ti.com \
--cc=tiwai@suse.com \
--cc=v-hampiholi@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox