diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index 1637eb75ab..9670476fb9 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -1767,6 +1767,8 @@ static int swrm_slvdev_datapath_control(struct swr_master *master, bool enable) dev_dbg(&master->dev, "%s: pm_runtime auto suspend triggered\n", __func__); pm_runtime_mark_last_busy(swrm->dev); + if (!enable) + pm_runtime_set_autosuspend_delay(swrm->dev, 80); pm_runtime_put_autosuspend(swrm->dev); } exit: @@ -3411,6 +3413,9 @@ exit: mutex_unlock(&swrm->runtime_lock); trace_printk("%s: pm_runtime: suspend done state: %d\n", __func__, swrm->state); + dev_dbg(dev, "%s: pm_runtime: suspend done state: %d\n", + __func__, swrm->state); + pm_runtime_set_autosuspend_delay(dev, auto_suspend_timer); return ret; } #endif /* CONFIG_PM */