[<prev] [next>] [day] [month] [year] [list]
Message-ID: <VE1PR04MB64798FB86DFEBD85E1784DF2E3260@VE1PR04MB6479.eurprd04.prod.outlook.com>
Date: Thu, 18 Apr 2019 10:21:11 +0000
From: "S.j. Wang" <shengjiu.wang@....com>
To: Nicolin Chen <nicoleotsuka@...il.com>
CC: "timur@...nel.org" <timur@...nel.org>,
"Xiubo.Lee@...il.com" <Xiubo.Lee@...il.com>,
"festevam@...il.com" <festevam@...il.com>,
"broonie@...nel.org" <broonie@...nel.org>,
"alsa-devel@...a-project.org" <alsa-devel@...a-project.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ASoC: fsl_esai: Add pm runtime function
Hi
>
>
> On Thu, Apr 18, 2019 at 03:29:09AM +0000, S.j. Wang wrote:
> > In imx8 when systerm enter suspend state, the power of subsystem will
> > be off, the clock enable state will be lost and register configuration
>
> Just for curiosity, we had similar situation on imx6sx, so we added
> suspend/resume with regcache. Why will the clock enable state be lost too?
> Does CCM on imx8 (might not be called CCM
> though) have any difference? What about clock rate settings?
>
> > will be lost. So the driver need to enter runtime suspend state in
> > suspend.
>
> > With this implementation the suspend function almost same as runtime
> > suspend function, so remove the suspend function, just use
> > pm_runtime_force_suspend instead, and same for the resume function.
> >
> > And also need to move clock enablement to runtime resume and clock
> > disablement to runtime suspend.
>
>
> > -static int fsl_esai_suspend(struct device *dev)
> > - regcache_cache_only(esai->regmap, true);
> > - regcache_mark_dirty(esai->regmap);
>
> > +static int fsl_esai_runtime_resume(struct device *dev)
> > regcache_cache_only(esai->regmap, false);
> > + regcache_mark_dirty(esai->regmap);
>
> Why move the regcache_mark_dirty from suspend to resume?
> (I am not saying it's wrong but wondering if this is the preferable way.)
Seems I should not do this change.
I will remain regcache_mark_dirty(esai->regmap); at its old place.
Best regards
Wang shengjiu
Powered by blists - more mailing lists