Re: [PATCH] ASoC: fsl_asrc: Merge suspend/resume function to runtime_suspend/resume

From: Nicolin Chen
Date: Mon May 25 2020 - 02:18:38 EST


On Mon, May 25, 2020 at 02:11:18PM +0800, Shengjiu Wang wrote:
> > > @@ -1135,6 +1137,24 @@ static int fsl_asrc_runtime_resume(struct device *dev)
> > > goto disable_asrck_clk;
> > > }
> > >
> > > + /* Stop all pairs provisionally */
> > > + regmap_read(asrc->regmap, REG_ASRCTR, &asrctr);
> > > + regmap_update_bits(asrc->regmap, REG_ASRCTR,
> > > + ASRCTR_ASRCEi_ALL_MASK, 0);
> > > +
> > > + /* Restore all registers */
> > > + regcache_cache_only(asrc->regmap, false);
> > > + regcache_mark_dirty(asrc->regmap);
> >
> >
> > I see you doing regcache_mark_dirty() in the resume() now,
> > being different from previously doing in suspend()?

> Which is for probe -> runtime_resume case.
> After probe, the power may be disabled, so move mark_dirtry
> to runtime_resume, then regcache can re-write all the registers.

I see. Just noticed that you add a regcache_cache_only
in probe(). Acked already. Thanks.