MLK-24263-4 ASoC: SOF: Do nothing when DSP PM callbacks are not set
This provides a better separation between runtime and PM sleep callbacks. Only do nothing if given runtime flag is set and calback is not set. With the current implementation, if PM sleep callback is set but runtime callback is not set then at runtime resume we reload the firmware even if we do not support runtime resume callback. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>5.4-rM2-2.2.x-imx-squashed
parent
798bd66a9c
commit
103eddadf8
|
@ -266,7 +266,10 @@ static int sof_resume(struct device *dev, bool runtime_resume)
|
|||
int ret;
|
||||
|
||||
/* do nothing if dsp resume callbacks are not set */
|
||||
if (!sof_ops(sdev)->resume || !sof_ops(sdev)->runtime_resume)
|
||||
if (!runtime_resume && !sof_ops(sdev)->resume)
|
||||
return 0;
|
||||
|
||||
if (runtime_resume && !sof_ops(sdev)->runtime_resume)
|
||||
return 0;
|
||||
|
||||
/* DSP was never successfully started, nothing to resume */
|
||||
|
@ -346,7 +349,10 @@ static int sof_suspend(struct device *dev, bool runtime_suspend)
|
|||
int ret;
|
||||
|
||||
/* do nothing if dsp suspend callback is not set */
|
||||
if (!sof_ops(sdev)->suspend)
|
||||
if (!runtime_suspend && !sof_ops(sdev)->suspend)
|
||||
return 0;
|
||||
|
||||
if (runtime_suspend && !sof_ops(sdev)->runtime_suspend)
|
||||
return 0;
|
||||
|
||||
if (sdev->fw_state != SOF_FW_BOOT_COMPLETE)
|
||||
|
|
Loading…
Reference in New Issue