public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
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
> 

  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