From: Stefan Binding <sbinding@opensource.cirrus.com>
To: Mark Brown <broonie@kernel.org>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: patches@opensource.cirrus.com, alsa-devel@alsa-project.org,
Richard Fitzgerald <rf@opensource.cirrus.com>,
linux-kernel@vger.kernel.org,
Stefan Binding <sbinding@opensource.cirrus.com>
Subject: [PATCH v2 7/8] ASoC: cs42l42: Don't set idle_bias_on
Date: Wed, 18 Jan 2023 16:04:51 +0000 [thread overview]
Message-ID: <20230118160452.2385494-8-sbinding@opensource.cirrus.com> (raw)
In-Reply-To: <20230118160452.2385494-1-sbinding@opensource.cirrus.com>
From: Richard Fitzgerald <rf@opensource.cirrus.com>
idle_bias_on was set because cs42l42 has a "VMID" type pseudo-midrail
supply (named FILT+), and these typically take a long time to charge.
But the driver never enabled pm_runtime so it would never have powered-
down the cs42l42 anyway.
In fact, FILT+ can charge to operating voltage within 12.5 milliseconds
of enabling HP or ADC. This time is already covered by the startup
delay of the HP/ADC.
The datasheet warning about FILT+ taking up to 1 second to charge only
applies in the special cases that either the PLL is started or
DETECT_MODE set to non-zero while both HP and ADC are off. The driver
never does either of these.
Removing idle_bias_on allows the Soundwire host controller to suspend
if there isn't a snd_soc_jack handler registered.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
---
sound/soc/codecs/cs42l42.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/sound/soc/codecs/cs42l42.c b/sound/soc/codecs/cs42l42.c
index a92499876ce2a..aa2223bfb885a 100644
--- a/sound/soc/codecs/cs42l42.c
+++ b/sound/soc/codecs/cs42l42.c
@@ -597,7 +597,6 @@ const struct snd_soc_component_driver cs42l42_soc_component = {
.num_dapm_routes = ARRAY_SIZE(cs42l42_audio_map),
.controls = cs42l42_snd_controls,
.num_controls = ARRAY_SIZE(cs42l42_snd_controls),
- .idle_bias_on = 1,
.endianness = 1,
};
EXPORT_SYMBOL_NS_GPL(cs42l42_soc_component, SND_SOC_CS42L42_CORE);
--
2.34.1
WARNING: multiple messages have this Message-ID (diff)
From: Stefan Binding <sbinding@opensource.cirrus.com>
To: Mark Brown <broonie@kernel.org>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: <alsa-devel@alsa-project.org>, <linux-kernel@vger.kernel.org>,
<patches@opensource.cirrus.com>,
Richard Fitzgerald <rf@opensource.cirrus.com>,
Stefan Binding <sbinding@opensource.cirrus.com>
Subject: [PATCH v2 7/8] ASoC: cs42l42: Don't set idle_bias_on
Date: Wed, 18 Jan 2023 16:04:51 +0000 [thread overview]
Message-ID: <20230118160452.2385494-8-sbinding@opensource.cirrus.com> (raw)
In-Reply-To: <20230118160452.2385494-1-sbinding@opensource.cirrus.com>
From: Richard Fitzgerald <rf@opensource.cirrus.com>
idle_bias_on was set because cs42l42 has a "VMID" type pseudo-midrail
supply (named FILT+), and these typically take a long time to charge.
But the driver never enabled pm_runtime so it would never have powered-
down the cs42l42 anyway.
In fact, FILT+ can charge to operating voltage within 12.5 milliseconds
of enabling HP or ADC. This time is already covered by the startup
delay of the HP/ADC.
The datasheet warning about FILT+ taking up to 1 second to charge only
applies in the special cases that either the PLL is started or
DETECT_MODE set to non-zero while both HP and ADC are off. The driver
never does either of these.
Removing idle_bias_on allows the Soundwire host controller to suspend
if there isn't a snd_soc_jack handler registered.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
---
sound/soc/codecs/cs42l42.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/sound/soc/codecs/cs42l42.c b/sound/soc/codecs/cs42l42.c
index a92499876ce2a..aa2223bfb885a 100644
--- a/sound/soc/codecs/cs42l42.c
+++ b/sound/soc/codecs/cs42l42.c
@@ -597,7 +597,6 @@ const struct snd_soc_component_driver cs42l42_soc_component = {
.num_dapm_routes = ARRAY_SIZE(cs42l42_audio_map),
.controls = cs42l42_snd_controls,
.num_controls = ARRAY_SIZE(cs42l42_snd_controls),
- .idle_bias_on = 1,
.endianness = 1,
};
EXPORT_SYMBOL_NS_GPL(cs42l42_soc_component, SND_SOC_CS42L42_CORE);
--
2.34.1
next prev parent reply other threads:[~2023-01-18 16:08 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-18 16:04 [PATCH v2 0/8] ASoC: cs42l42: Add Soundwire support Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:04 ` [PATCH v2 1/8] soundwire: stream: Add specific prep/deprep commands to port_prep callback Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:37 ` Pierre-Louis Bossart
2023-01-18 16:37 ` Pierre-Louis Bossart
2023-01-18 16:04 ` [PATCH v2 2/8] ASoC: cs42l42: Add SOFT_RESET_REBOOT register Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:41 ` Pierre-Louis Bossart
2023-01-18 16:41 ` Pierre-Louis Bossart
2023-01-19 13:33 ` Richard Fitzgerald
2023-01-19 13:33 ` Richard Fitzgerald
2023-01-18 16:04 ` [PATCH v2 3/8] ASoC: cs42l42: Ensure MCLKint is a multiple of the sample rate Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:46 ` Pierre-Louis Bossart
2023-01-18 16:46 ` Pierre-Louis Bossart
2023-01-18 16:04 ` [PATCH v2 4/8] ASoC: cs42l42: Separate ASP config from PLL config Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:04 ` [PATCH v2 5/8] ASoC: cs42l42: Export some functions for Soundwire Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 16:04 ` [PATCH v2 6/8] ASoC: cs42l42: Add Soundwire support Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 17:41 ` Pierre-Louis Bossart
2023-01-18 17:41 ` Pierre-Louis Bossart
2023-01-19 13:58 ` Richard Fitzgerald
2023-01-19 13:58 ` Richard Fitzgerald
2023-01-19 14:48 ` Pierre-Louis Bossart
2023-01-19 14:48 ` Pierre-Louis Bossart
2023-01-19 15:35 ` Richard Fitzgerald
2023-01-19 15:35 ` Richard Fitzgerald
2023-01-19 16:27 ` Pierre-Louis Bossart
2023-01-19 16:27 ` Pierre-Louis Bossart
2023-01-20 12:31 ` Richard Fitzgerald
2023-01-20 12:31 ` Richard Fitzgerald
2023-01-20 19:55 ` Pierre-Louis Bossart
2023-01-20 19:55 ` Pierre-Louis Bossart
2023-01-23 15:51 ` Richard Fitzgerald
2023-01-23 15:51 ` Richard Fitzgerald
2023-01-23 16:05 ` Pierre-Louis Bossart
2023-01-23 16:14 ` Richard Fitzgerald
2023-01-23 16:14 ` Richard Fitzgerald
2023-01-23 16:25 ` Pierre-Louis Bossart
2023-01-18 16:04 ` Stefan Binding [this message]
2023-01-18 16:04 ` [PATCH v2 7/8] ASoC: cs42l42: Don't set idle_bias_on Stefan Binding
2023-01-18 16:04 ` [PATCH v2 8/8] ASoC: cs42l42: Wait for debounce interval after resume Stefan Binding
2023-01-18 16:04 ` Stefan Binding
2023-01-18 17:43 ` [PATCH v2 0/8] ASoC: cs42l42: Add Soundwire support Pierre-Louis Bossart
2023-01-18 17:43 ` Pierre-Louis Bossart
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=20230118160452.2385494-8-sbinding@opensource.cirrus.com \
--to=sbinding@opensource.cirrus.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=rf@opensource.cirrus.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.