summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/skylake/skl-topology.c
diff options
context:
space:
mode:
authorOmair M Abdullah2015-12-03 18:59:56 +0100
committerMark Brown2015-12-08 18:57:51 +0100
commit7d9f29119d3e4db6ae817881d8e305650424032c (patch)
tree4c9d788d943f547935440f6b805661ce9295c61f /sound/soc/intel/skylake/skl-topology.c
parentASoC: Intel: Skylake: add LARGE_CONFIG_GET IPC support (diff)
downloadkernel-qcow2-linux-7d9f29119d3e4db6ae817881d8e305650424032c.tar.gz
kernel-qcow2-linux-7d9f29119d3e4db6ae817881d8e305650424032c.tar.xz
kernel-qcow2-linux-7d9f29119d3e4db6ae817881d8e305650424032c.zip
ASoC: Intel: Skylake: read params from DSP if module is on
If a module is ON then we should read the module parameters from DSP rather than driver cached values Signed-off-by: Omair M Abdullah <omair.m.abdullah@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.c')
-rw-r--r--sound/soc/intel/skylake/skl-topology.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-topology.c b/sound/soc/intel/skylake/skl-topology.c
index eb31235f7040..b824450edcb4 100644
--- a/sound/soc/intel/skylake/skl-topology.c
+++ b/sound/soc/intel/skylake/skl-topology.c
@@ -908,6 +908,13 @@ static int skl_tplg_tlv_control_get(struct snd_kcontrol *kcontrol,
struct soc_bytes_ext *sb =
(struct soc_bytes_ext *)kcontrol->private_value;
struct skl_algo_data *bc = (struct skl_algo_data *)sb->dobj.private;
+ struct snd_soc_dapm_widget *w = snd_soc_dapm_kcontrol_widget(kcontrol);
+ struct skl_module_cfg *mconfig = w->priv;
+ struct skl *skl = get_skl_ctx(w->dapm->dev);
+
+ if (w->power)
+ skl_get_module_params(skl->skl_sst, (u32 *)bc->params,
+ bc->max, bc->param_id, mconfig);
if (bc->params) {
if (copy_to_user(data, &bc->param_id, sizeof(u32)))