OSDN Git Service

ASoC: SOF: reset default d0_substate at probe() and resume()
authorKeyon Jie <yang.jie@linux.intel.com>
Fri, 25 Oct 2019 22:40:58 +0000 (17:40 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 28 Oct 2019 14:39:53 +0000 (14:39 +0000)
We initialize/reset d0_substate to default d0i0 value when doing
transition D3-->D0, e.g. at success of probing and resuming.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191025224122.7718-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/core.c
sound/soc/sof/pm.c

index 5998861..8661c2c 100644 (file)
@@ -458,6 +458,9 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
        /* initialize sof device */
        sdev->dev = dev;
 
+       /* initialize default D0 sub-state */
+       sdev->d0_substate = SOF_DSP_D0I0;
+
        sdev->pdata = plat_data;
        sdev->first_boot = true;
        dev_set_drvdata(dev, sdev);
index e23beae..81e623d 100644 (file)
@@ -326,6 +326,9 @@ static int sof_resume(struct device *dev, bool runtime_resume)
                        "error: ctx_restore ipc error during resume %d\n",
                        ret);
 
+       /* initialize default D0 sub-state */
+       sdev->d0_substate = SOF_DSP_D0I0;
+
        return ret;
 }