linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Murphy <dmurphy@ti.com>
To: <lgirdwood@gmail.com>, <broonie@kernel.org>, <tiwai@suse.com>,
	<robh+dt@kernel.org>
Cc: <devicetree@vger.kernel.org>, <alsa-devel@alsa-project.org>,
	<linux-kernel@vger.kernel.org>, Dan Murphy <dmurphy@ti.com>
Subject: [PATCH 3/6] ASoC: tas2770: Set regcache when shutting down and waking device
Date: Wed, 23 Sep 2020 08:25:57 -0500	[thread overview]
Message-ID: <20200923132600.10652-3-dmurphy@ti.com> (raw)
In-Reply-To: <20200923132600.10652-1-dmurphy@ti.com>

Set the regcache to cache data and mark cache as dirty when the device
is shutdown when suspend is called. When the device is woken up then
sync the cache and set to not caching the data.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
---
 sound/soc/codecs/tas2770.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c
index 9f7363927c50..c42e653cd653 100644
--- a/sound/soc/codecs/tas2770.c
+++ b/sound/soc/codecs/tas2770.c
@@ -82,14 +82,20 @@ static int tas2770_codec_suspend(struct snd_soc_component *component)
 	struct tas2770_priv *tas2770 = snd_soc_component_get_drvdata(component);
 	int ret = 0;
 
+	regcache_cache_only(tas2770->regmap, true);
+	regcache_mark_dirty(tas2770->regmap);
+
 	if (tas2770->sdz_gpio) {
 		gpiod_set_value_cansleep(tas2770->sdz_gpio, 0);
 	} else {
 		ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL,
 						    TAS2770_PWR_CTRL_MASK,
 						    TAS2770_PWR_CTRL_SHUTDOWN);
-		if (ret < 0)
+		if (ret < 0) {
+			regcache_cache_only(tas2770->regmap, false);
+			regcache_sync(tas2770->regmap);
 			return ret;
+		}
 
 		ret = 0;
 	}
@@ -110,11 +116,11 @@ static int tas2770_codec_resume(struct snd_soc_component *component)
 						    TAS2770_PWR_CTRL_ACTIVE);
 		if (ret < 0)
 			return ret;
-
-		ret = 0;
 	}
 
-	return ret;
+	regcache_cache_only(tas2770->regmap, false);
+
+	return regcache_sync(tas2770->regmap);
 }
 #else
 #define tas2770_codec_suspend NULL
-- 
2.28.0


  parent reply	other threads:[~2020-09-23 13:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-23 13:25 [PATCH 1/6] dt-bindings: tas2770: Add shutdown gpio property Dan Murphy
2020-09-23 13:25 ` [PATCH 2/6] ASoC: tas2770: Add shutdown capability via a GPIO Dan Murphy
2020-09-23 13:25 ` Dan Murphy [this message]
2020-09-23 13:25 ` [PATCH 4/6] dt-bindings: tas2770: Remove ti,asi-format property Dan Murphy
2020-09-23 15:51   ` Mark Brown
2020-09-23 16:11     ` Dan Murphy
2020-09-23 13:25 ` [PATCH 5/6] ASoC: tas2770: Remove ti,asi-format code Dan Murphy
2020-09-23 13:26 ` [PATCH 6/6] ASoC: tas2770: Remove unused variables Dan Murphy
2020-09-23 19:00 ` [PATCH 1/6] dt-bindings: tas2770: Add shutdown gpio property 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=20200923132600.10652-3-dmurphy@ti.com \
    --to=dmurphy@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=tiwai@suse.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;
as well as URLs for NNTP newsgroup(s).