ASoC: SOF: Activate runtime PM with SOF OF device
authorDaniel Baluta <daniel.baluta@nxp.com>
Thu, 24 Sep 2020 15:15:17 +0000 (18:15 +0300)
committerMark Brown <broonie@kernel.org>
Fri, 25 Sep 2020 17:53:11 +0000 (18:53 +0100)
SOF boots the DSP at probe and keeps it up all the time.
With this change, after booting if no one is using the DSP
the SOF core will turn off the DSP to save power.

Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Paul Olaru <paul.olaru@nxp.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Link: https://lore.kernel.org/r/20200924151518.15841-2-daniel.baluta@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/sof-of-dev.c

index f492c5dfa659a436b00d0ee9ae8c7ebb74f4037e..de9acc0e33cb9cf0c0c2c41496f84018295e5d4c 100644 (file)
@@ -56,7 +56,11 @@ static void sof_of_probe_complete(struct device *dev)
        /* allow runtime_pm */
        pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
        pm_runtime_use_autosuspend(dev);
+       pm_runtime_set_active(dev);
        pm_runtime_enable(dev);
+
+       pm_runtime_mark_last_busy(dev);
+       pm_runtime_put_autosuspend(dev);
 }
 
 static int sof_of_probe(struct platform_device *pdev)