ASoC: SOF: PM: implement prepare/complete callbacks
Implement the prepare() and complete() callbacks for power management, initialize s0_suspend flag at prepare(), and reset it at complete(). 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-22-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
4cd933abd4
commit
0b50b3b1c3
|
@ -439,3 +439,26 @@ int snd_sof_suspend(struct device *dev)
|
|||
return sof_suspend(dev, false);
|
||||
}
|
||||
EXPORT_SYMBOL(snd_sof_suspend);
|
||||
|
||||
int snd_sof_prepare(struct device *dev)
|
||||
{
|
||||
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
|
||||
|
||||
#if defined(CONFIG_ACPI)
|
||||
sdev->s0_suspend = acpi_target_system_state() == ACPI_STATE_S0;
|
||||
#else
|
||||
/* will suspend to S3 by default */
|
||||
sdev->s0_suspend = false;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_sof_prepare);
|
||||
|
||||
void snd_sof_complete(struct device *dev)
|
||||
{
|
||||
struct snd_sof_dev *sdev = dev_get_drvdata(dev);
|
||||
|
||||
sdev->s0_suspend = false;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_sof_complete);
|
||||
|
|
|
@ -492,6 +492,8 @@ int snd_sof_runtime_resume(struct device *dev);
|
|||
int snd_sof_runtime_idle(struct device *dev);
|
||||
int snd_sof_resume(struct device *dev);
|
||||
int snd_sof_suspend(struct device *dev);
|
||||
int snd_sof_prepare(struct device *dev);
|
||||
void snd_sof_complete(struct device *dev);
|
||||
int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
|
||||
enum sof_d0_substate d0_substate);
|
||||
|
||||
|
|
Loading…
Reference in New Issue