From: Richard Fitzgerald Date: Tue, 9 Jun 2026 12:29:46 +0000 (+0100) Subject: ASoC: cs35l56: Increase pm_runtime autosuspend delay X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60a1646b38d4d03e4fbdcc2c3fbff8096f5ff406;p=thirdparty%2Flinux.git 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 Link: https://patch.msgid.link/20260609122946.288103-1-rf@opensource.cirrus.com Signed-off-by: Mark Brown --- 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);