OSDN Git Service

ASoC: Intel: Skylake: Simplify m_state for loadable modules
authorGustaw Lewandowski <gustaw.lewandowski@linux.intel.com>
Wed, 18 Aug 2021 07:57:38 +0000 (09:57 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 23 Aug 2021 15:40:01 +0000 (16:40 +0100)
States SKL_MODULE_LOADED and SKL_MODULE_UNLOADED are redundant with
'loadable' flag in struct skl_module. Additionally
skl_tplg_mixer_dapm_post_pmd_event() sets m_state always to
SKL_MODULE_UNINIT so next unload function isn't called for such modules.

Signed-off-by: Gustaw Lewandowski <gustaw.lewandowski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Tested-by: Lukasz Majczak <lma@semihalf.com>
Link: https://lore.kernel.org/r/20210818075742.1515155-8-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-topology.c
sound/soc/intel/skylake/skl-topology.h

index a35ee9d..51fb594 100644 (file)
@@ -498,8 +498,6 @@ skl_tplg_init_pipe_modules(struct skl_dev *skl, struct skl_pipe *pipe)
                                mconfig->id.module_id, mconfig->guid);
                        if (ret < 0)
                                return ret;
-
-                       mconfig->m_state = SKL_MODULE_LOADED;
                }
 
                /* prepare the DMA if the module is gateway cpr */
@@ -558,8 +556,7 @@ static int skl_tplg_unload_pipe_modules(struct skl_dev *skl,
                mconfig  = w_module->w->priv;
                uuid_mod = (guid_t *)mconfig->guid;
 
-               if (mconfig->module->loadable && skl->dsp->fw_ops.unload_mod &&
-                       mconfig->m_state > SKL_MODULE_UNINIT) {
+               if (mconfig->module->loadable && skl->dsp->fw_ops.unload_mod) {
                        ret = skl->dsp->fw_ops.unload_mod(skl->dsp,
                                                mconfig->id.module_id);
                        if (ret < 0)
index fb01186..ad230fd 100644 (file)
@@ -311,10 +311,8 @@ struct skl_pipe {
 
 enum skl_module_state {
        SKL_MODULE_UNINIT = 0,
-       SKL_MODULE_LOADED = 1,
-       SKL_MODULE_INIT_DONE = 2,
-       SKL_MODULE_BIND_DONE = 3,
-       SKL_MODULE_UNLOADED = 4,
+       SKL_MODULE_INIT_DONE = 1,
+       SKL_MODULE_BIND_DONE = 2,
 };
 
 enum d0i3_capability {