On Wed, Feb 10, 2021 at 11:39 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Wed, Feb 10, 2021 at 02:35:29PM +0800, Shengjiu Wang wrote: > > On Wed, Feb 10, 2021 at 6:30 AM Mark Brown <broonie@xxxxxxxxxx> wrote: > > > > Like I say I'd actually recommend moving this control to DAPM. > > > I may understand your point, you suggest to use the .set_bias_level > > interface. But in my case I need to enable the clock in earlier stage > > and keep the clock on when system go to suspend. > > The device can be kept alive over system suspend if that's needed, or > possibly it sounds like runtime PM is a better fit? There's callbacks > in the core to keep the device runtime PM enabled while it's open which > is probably about the time range you're looking for. Before enabling the clock, I need to reparent the clock according to the sample rate, Maybe the hw_params is the right place to do these things. Can I add a flag: "rpmsg->mclk_streams & BIT(substream->stream)" for avoiding multiple calls of hw_params function before enabling clock?