ASoC: SOF: HDA: (cosmetic) simplify hda_dsp_d0i3_work()

Simplify hda_dsp_d0i3_work() by returning immediately from it
if D0i3 cannot be set.

Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Libin Yang <libin.yang@intel.com>
Reviewed-by: Keyon Jie <yang.jie@intel.com>
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210208232149.58899-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Guennadi Liakhovetski 2021-02-08 17:21:48 -06:00 committed by Mark Brown
parent 3be46fa210
commit f1bb023525
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -934,19 +934,15 @@ void hda_dsp_d0i3_work(struct work_struct *work)
d0i3_work.work);
struct hdac_bus *bus = &hdev->hbus.core;
struct snd_sof_dev *sdev = dev_get_drvdata(bus->dev);
struct sof_dsp_power_state target_state;
struct sof_dsp_power_state target_state = {
.state = SOF_DSP_PM_D0,
.substate = SOF_HDA_DSP_PM_D0I3,
};
int ret;
target_state.state = SOF_DSP_PM_D0;
/* DSP can enter D0I3 iff only D0I3-compatible streams are active */
if (snd_sof_dsp_only_d0i3_compatible_stream_active(sdev))
target_state.substate = SOF_HDA_DSP_PM_D0I3;
else
target_state.substate = SOF_HDA_DSP_PM_D0I0;
/* remain in D0I0 */
if (target_state.substate == SOF_HDA_DSP_PM_D0I0)
if (!snd_sof_dsp_only_d0i3_compatible_stream_active(sdev))
/* remain in D0I0 */
return;
/* This can fail but error cannot be propagated */