RE: [EXTERNAL] Re: [PATCH v10 1/4] ASoC: SDCA: Add PDE state transition helper
From: Holalu Yogendra, Niranjan
Date: Wed Apr 22 2026 - 06:39:40 EST
>On 13:56-20260422, Charles Keepax wrote:
> 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
> > >>
> > >> (*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.
No problem at all. I will revert back changes as in the previous patch
to check for ACTUAL_PS alone.
Regards
Niranjan