summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/skylake/skl-topology.h
diff options
context:
space:
mode:
authorJeeja KP <jeeja.kp@intel.com>2015-10-27 01:22:49 +0100
committerMark Brown <broonie@kernel.org>2015-11-16 11:08:09 +0100
commit4f7457089df2984aeee59ec01525aa9917e889e7 (patch)
treebb528b3e932d6cd49bd9a6d396b5fa5922c5fa93 /sound/soc/intel/skylake/skl-topology.h
parentASoC: Intel: Skylake: Fix to ignore blob check if link type is HDA (diff)
downloadlinux-4f7457089df2984aeee59ec01525aa9917e889e7.tar.xz
linux-4f7457089df2984aeee59ec01525aa9917e889e7.zip
ASoC: Intel: Skylake: Fix support for multiple pins in a module
For supporting multiple dynamic pins, module state check is incorrect. In case of unbind, module state need to be changed to uninit if all pins in the module is is unbind state. To handle module state correctly add pin state and use pin state check to set module state correctly. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/skylake/skl-topology.h')
-rw-r--r--sound/soc/intel/skylake/skl-topology.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sound/soc/intel/skylake/skl-topology.h b/sound/soc/intel/skylake/skl-topology.h
index 76053a8de41c..cd8768308f29 100644
--- a/sound/soc/intel/skylake/skl-topology.h
+++ b/sound/soc/intel/skylake/skl-topology.h
@@ -180,16 +180,24 @@ struct skl_module_fmt {
u32 ch_cfg;
};
+struct skl_module_cfg;
+
struct skl_module_inst_id {
u32 module_id;
u32 instance_id;
};
+enum skl_module_pin_state {
+ SKL_PIN_UNBIND = 0,
+ SKL_PIN_BIND_DONE = 1,
+};
+
struct skl_module_pin {
struct skl_module_inst_id id;
- u8 pin_index;
bool is_dynamic;
bool in_use;
+ enum skl_module_pin_state pin_state;
+ struct skl_module_cfg *tgt_mcfg;
};
struct skl_specific_cfg {