From: Vinod Koul <vinod.koul@intel.com>
To: alsa-devel@alsa-project.org
Cc: liam.r.girdwood@linux.intel.com, patches.audio@intel.com,
broonie@kernel.org, Vinod Koul <vinod.koul@intel.com>,
Senthilnathan Veppur <senthilnathanx.veppur@intel.com>
Subject: [PATCH 02/12] ASoC: Intel: Skylake: Move modules query to runtime
Date: Tue, 26 Jul 2016 18:06:40 +0530 [thread overview]
Message-ID: <1469536610-27606-3-git-send-email-vinod.koul@intel.com> (raw)
In-Reply-To: <1469536610-27606-1-git-send-email-vinod.koul@intel.com>
Since we are moving DSP init to later, at the topology load the
module info is not available.
So set the module id to -1 at init and query at first module
initialization.
Signed-off-by: Senthilnathan Veppur <senthilnathanx.veppur@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
sound/soc/intel/skylake/skl-topology.c | 32 +++++++++++++++++++++++++++-----
sound/soc/intel/skylake/skl-topology.h | 2 +-
2 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/sound/soc/intel/skylake/skl-topology.c b/sound/soc/intel/skylake/skl-topology.c
index cc0150fc2601..904103056d62 100644
--- a/sound/soc/intel/skylake/skl-topology.c
+++ b/sound/soc/intel/skylake/skl-topology.c
@@ -473,6 +473,28 @@ skl_tplg_init_pipe_modules(struct skl *skl, struct skl_pipe *pipe)
w = w_module->w;
mconfig = w->priv;
+ /* check if module ids are populated */
+ if (mconfig->id.module_id < 0) {
+ struct skl_dfw_module *dfw_config;
+
+ dfw_config = kzalloc(sizeof(dfw_config), GFP_KERNEL);
+ if (!dfw_config)
+ return -ENOMEM;
+
+ ret = snd_skl_get_module_info(skl->skl_sst,
+ mconfig->guid, dfw_config);
+ if (ret < 0) {
+ dev_err(skl->skl_sst->dev,
+ "query module info failed: %d\n", ret);
+ kfree(dfw_config);
+ return ret;
+ }
+ mconfig->id.module_id = dfw_config->module_id;
+ mconfig->is_loadable = dfw_config->is_loadable;
+
+ kfree(dfw_config);
+ }
+
/* check resource available */
if (!skl_is_pipe_mcps_avail(skl, mconfig))
return -ENOMEM;
@@ -1621,11 +1643,11 @@ static int skl_tplg_widget_load(struct snd_soc_component *cmpnt,
w->priv = mconfig;
memcpy(&mconfig->guid, &dfw_config->uuid, 16);
- ret = snd_skl_get_module_info(skl->skl_sst, mconfig->guid, dfw_config);
- if (ret < 0)
- return ret;
-
- mconfig->id.module_id = dfw_config->module_id;
+ /*
+ * module binary can be loaded later, so set it to query when
+ * module is load for a use case
+ */
+ mconfig->id.module_id = -1;
mconfig->id.instance_id = dfw_config->instance_id;
mconfig->mcps = dfw_config->max_mcps;
mconfig->ibs = dfw_config->ibs;
diff --git a/sound/soc/intel/skylake/skl-topology.h b/sound/soc/intel/skylake/skl-topology.h
index 22d3ef83817d..96fa86d0f93a 100644
--- a/sound/soc/intel/skylake/skl-topology.h
+++ b/sound/soc/intel/skylake/skl-topology.h
@@ -216,7 +216,7 @@ struct skl_module_fmt {
struct skl_module_cfg;
struct skl_module_inst_id {
- u32 module_id;
+ int module_id;
u32 instance_id;
};
--
1.9.1
next prev parent reply other threads:[~2016-07-26 12:29 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-26 12:36 [PATCH 00/12] ASoC: Intel: Skylake: Add support for library load Vinod Koul
2016-07-26 12:36 ` [PATCH 01/12] ASoC: Intel: Skylake: Check list empty while getting module info Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: Check list empty while getting module info" to the asoc tree Mark Brown
2016-07-26 12:36 ` Vinod Koul [this message]
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: Move modules query to runtime" " Mark Brown
2016-07-26 12:36 ` [PATCH 03/12] ASoC: Intel: Skylake: modify skl_get_dsp_ops() Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: modify skl_get_dsp_ops()" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 04/12] ASoC: Intel: Skylake: split fw and dsp initialization Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: split fw and dsp initialization" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 05/12] ASoC: Intel: Skylake: add support for tplg manifest load Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: add support for tplg manifest load" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 06/12] ASoC: Intel: Skylake: add additional args to module parsing Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: add additional args to module parsing" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 07/12] ASoC: Intel: Skylake: Parse UUIDs once Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: Parse UUIDs once" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 08/12] ASoC: Intel: Bxt: Parse UUIDs once Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Bxt: Parse UUIDs once" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 09/12] ASoC: Intel: Skylake: Add library loading IPCs Vinod Koul
2016-08-01 17:07 ` Applied "ASoC: Intel: Skylake: Add library loading IPCs" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 10/12] ASoC: Intel: Skylake: Add library loading support Vinod Koul
2016-08-05 11:19 ` Applied "ASoC: Intel: Skylake: Add library loading support" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 11/12] ASoC: Intel: Skylake: Fix a comment style Vinod Koul
2016-08-05 11:19 ` Applied "ASoC: Intel: Skylake: Fix a comment style" to the asoc tree Mark Brown
2016-07-26 12:36 ` [PATCH 12/12] ASoC: Intel: Skylake: Add module processing domain support Vinod Koul
2016-08-05 11:18 ` Applied "ASoC: Intel: Skylake: Add module processing domain support" to the asoc tree Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1469536610-27606-3-git-send-email-vinod.koul@intel.com \
--to=vinod.koul@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=patches.audio@intel.com \
--cc=senthilnathanx.veppur@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).