OSDN Git Service

ASoC: SOF: HDA: (cosmetic) simplify hda_dsp_d0i3_work()
authorGuennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Mon, 8 Feb 2021 23:21:48 +0000 (17:21 -0600)
committerMark Brown <broonie@kernel.org>
Wed, 10 Feb 2021 17:17:12 +0000 (17:17 +0000)
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>
sound/soc/sof/intel/hda-dsp.c

index 72c0b8e..5788fe3 100644 (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 */