diff options
| author | Richard Fitzgerald <rf@opensource.cirrus.com> | 2026-06-09 15:29:46 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-06-09 19:13:41 +0300 |
| commit | 60a1646b38d4d03e4fbdcc2c3fbff8096f5ff406 (patch) | |
| tree | 9323579030cfbaa091ee4fb7132b57082a3232de | |
| parent | 04015d0a985dd068d9dd8b513454fa3436ffd64f (diff) | |
| download | linux-60a1646b38d4d03e4fbdcc2c3fbff8096f5ff406.tar.xz | |
ASoC: cs35l56: Increase pm_runtime autosuspend delay
Increase the pm_runtime autosuspend delay to be longer than the
timeout of the firmware's own inactivity timer.
There is no point attempting to pm_runtime suspend any sooner than
the firmware idle timeout because it would only mean the driver has
to poll waiting for the firmware idle.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20260609122946.288103-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
| -rw-r--r-- | include/sound/cs35l56.h | 2 | ||||
| -rw-r--r-- | sound/soc/codecs/cs35l56.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/include/sound/cs35l56.h b/include/sound/cs35l56.h index c3b10587cb4c..2490b72c0a7a 100644 --- a/include/sound/cs35l56.h +++ b/include/sound/cs35l56.h @@ -286,6 +286,8 @@ struct snd_ctl_elem_value; #define CS35L56_MBOX_TIMEOUT_US 5000 #define CS35L56_MBOX_POLL_US 250 +#define CS35L56_FW_REQ_ACTIVE_TIMEOUT_MS 250 + #define CS35L56_PS0_POLL_US 500 #define CS35L56_PS0_TIMEOUT_US 50000 #define CS35L56_PS3_POLL_US 500 diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c index b4b126753c10..0f78b1284eaa 100644 --- a/sound/soc/codecs/cs35l56.c +++ b/sound/soc/codecs/cs35l56.c @@ -2027,7 +2027,8 @@ int cs35l56_init(struct cs35l56_private *cs35l56) if (cs35l56->base.init_done) return 0; - pm_runtime_set_autosuspend_delay(cs35l56->base.dev, 100); + pm_runtime_set_autosuspend_delay(cs35l56->base.dev, + CS35L56_FW_REQ_ACTIVE_TIMEOUT_MS + 50); pm_runtime_use_autosuspend(cs35l56->base.dev); pm_runtime_set_active(cs35l56->base.dev); pm_runtime_enable(cs35l56->base.dev); |
