From: Nicolin Chen <nicoleotsuka@gmail.com>
To: Zidan Wang <zidan.wang@freescale.com>
Cc: alsa-devel@alsa-project.org, timur@tabi.org, Xiubo.Lee@gmail.com,
tiwai@suse.com, lgirdwood@gmail.com, broonie@kernel.org
Subject: Re: [PATCH v3 1/4] ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast
Date: Tue, 15 Sep 2015 22:08:25 -0700 [thread overview]
Message-ID: <20150916050825.GA31293@Asurada-CZ80> (raw)
In-Reply-To: <6fa4e6ebf1f34f5d637324c9f62e68b03037568c.1438928296.git.zidan.wang@freescale.com>
On Fri, Aug 07, 2015 at 02:21:05PM +0800, Zidan Wang wrote:
> For i.MX6 SoloX, there is a mode of the SoC to shutdown all power source of
> modules during system suspend and resume procedure. Thus, SAI needs to save
> all the values of registers before the system suspend and restore them after
> the system resume.
>
> Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
For this series,
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
I'm still having trouble to test system suspend/resume even without
these PATCHes. But they look fine to me.
Thank you
Nicolin
> ---
> sound/soc/fsl/fsl_sai.c | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
> index a18fd92..5c737f1 100644
> --- a/sound/soc/fsl/fsl_sai.c
> +++ b/sound/soc/fsl/fsl_sai.c
> @@ -637,6 +637,8 @@ static bool fsl_sai_readable_reg(struct device *dev, unsigned int reg)
> static bool fsl_sai_volatile_reg(struct device *dev, unsigned int reg)
> {
> switch (reg) {
> + case FSL_SAI_TCSR:
> + case FSL_SAI_RCSR:
> case FSL_SAI_TFR:
> case FSL_SAI_RFR:
> case FSL_SAI_TDR:
> @@ -681,6 +683,7 @@ static const struct regmap_config fsl_sai_regmap_config = {
> .readable_reg = fsl_sai_readable_reg,
> .volatile_reg = fsl_sai_volatile_reg,
> .writeable_reg = fsl_sai_writeable_reg,
> + .cache_type = REGCACHE_FLAT,
> };
>
> static int fsl_sai_probe(struct platform_device *pdev)
> @@ -802,10 +805,40 @@ static const struct of_device_id fsl_sai_ids[] = {
> { /* sentinel */ }
> };
>
> +#if CONFIG_PM_SLEEP
> +static int fsl_sai_suspend(struct device *dev)
> +{
> + struct fsl_sai *sai = dev_get_drvdata(dev);
> +
> + regcache_cache_only(sai->regmap, true);
> + regcache_mark_dirty(sai->regmap);
> +
> + return 0;
> +}
> +
> +static int fsl_sai_resume(struct device *dev)
> +{
> + struct fsl_sai *sai = dev_get_drvdata(dev);
> +
> + regcache_cache_only(sai->regmap, false);
> + regmap_write(sai->regmap, FSL_SAI_TCSR, FSL_SAI_CSR_SR);
> + regmap_write(sai->regmap, FSL_SAI_RCSR, FSL_SAI_CSR_SR);
> + msleep(1);
> + regmap_write(sai->regmap, FSL_SAI_TCSR, 0);
> + regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
> + return regcache_sync(sai->regmap);
> +}
> +#endif /* CONFIG_PM_SLEEP */
> +
> +static const struct dev_pm_ops fsl_sai_pm_ops = {
> + SET_SYSTEM_SLEEP_PM_OPS(fsl_sai_suspend, fsl_sai_resume)
> +};
> +
> static struct platform_driver fsl_sai_driver = {
> .probe = fsl_sai_probe,
> .driver = {
> .name = "fsl-sai",
> + .pm = &fsl_sai_pm_ops,
> .of_match_table = fsl_sai_ids,
> },
> };
> --
> 1.9.1
>
next prev parent reply other threads:[~2015-09-16 5:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-07 6:21 [PATCH v3 1/4] ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast Zidan Wang
2015-08-07 6:21 ` [PATCH v3 2/4] ASoC: fsl_spdif: " Zidan Wang
2015-10-05 16:44 ` Applied "ASoC: fsl_spdif: Add driver suspend and resume to support MEGA Fast" to the asoc tree Mark Brown
2015-08-07 6:21 ` [PATCH v3 3/4] ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast Zidan Wang
2015-10-05 16:44 ` Applied "ASoC: fsl_ssi: Add driver suspend and resume to support MEGA Fast" to the asoc tree Mark Brown
2015-08-07 6:21 ` [PATCH v3 4/4] ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast Zidan Wang
2015-10-05 16:44 ` Applied "ASoC: fsl_esai: Add driver suspend and resume to support MEGA Fast" to the asoc tree Mark Brown
2015-08-11 9:12 ` [PATCH v3 1/4] ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast Nicolin Chen
2015-08-11 9:28 ` Zidan Wang
2015-08-11 10:41 ` Fabio Estevam
2015-08-11 9:34 ` Zidan Wang
2015-08-11 10:46 ` Fabio Estevam
2015-08-11 9:50 ` Zidan Wang
2015-08-11 19:29 ` Nicolin Chen
2015-09-16 5:08 ` Nicolin Chen [this message]
2015-10-05 16:44 ` Applied "ASoC: fsl_sai: Add driver suspend and resume to support MEGA Fast" to the asoc tree Mark Brown
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=20150916050825.GA31293@Asurada-CZ80 \
--to=nicoleotsuka@gmail.com \
--cc=Xiubo.Lee@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=timur@tabi.org \
--cc=tiwai@suse.com \
--cc=zidan.wang@freescale.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