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>
This commit is contained in:
Richard Fitzgerald
2026-06-09 13:29:46 +01:00
committed by Mark Brown
parent 04015d0a98
commit 60a1646b38
2 changed files with 4 additions and 1 deletions

View File

@@ -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

View File

@@ -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);