summaryrefslogtreecommitdiff
path: root/sound/soc/intel/skylake/skl-topology.h
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2015-10-07 13:31:55 +0300
committerMark Brown <broonie@kernel.org>2015-10-07 17:30:16 +0300
commitcfb0a87383c6c2827f108ecee3471ef981876b38 (patch)
treeea4023841c60b1e8b8a896c2c6a292dd2adf8404 /sound/soc/intel/skylake/skl-topology.h
parentd93f8e550f44ed1f54285f77f40f7962a3f25267 (diff)
downloadlinux-cfb0a87383c6c2827f108ecee3471ef981876b38.tar.xz
ASoC: Intel: Skylake: Add FE and BE hw_params handling
For FE and BE, the PCM parameters come from FE and BE hw_params values passed. For a FE we convert the FE params to DSP expected module format and pass to DSP. For a BE we need to find the gateway settings (i2s/PDM) to be applied. These are queried from NHLT table and applied. Further for BE based on direction the settings are applied as either source or destination parameters. These helpers here allow the format to be calculated and queried as per firmware format. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@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.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sound/soc/intel/skylake/skl-topology.h b/sound/soc/intel/skylake/skl-topology.h
index b3a22a6f8d27..12db94d238f2 100644
--- a/sound/soc/intel/skylake/skl-topology.h
+++ b/sound/soc/intel/skylake/skl-topology.h
@@ -280,6 +280,18 @@ static inline struct skl *get_skl_ctx(struct device *dev)
return ebus_to_skl(ebus);
}
+int skl_tplg_be_update_params(struct snd_soc_dai *dai,
+ struct skl_pipe_params *params);
+void skl_tplg_set_be_dmic_config(struct snd_soc_dai *dai,
+ struct skl_pipe_params *params, int stream);
+int skl_tplg_init(struct snd_soc_platform *platform,
+ struct hdac_ext_bus *ebus);
+struct skl_module_cfg *skl_tplg_fe_get_cpr_module(
+ struct snd_soc_dai *dai, int stream);
+int skl_tplg_update_pipe_params(struct device *dev,
+ struct skl_module_cfg *mconfig, struct skl_pipe_params *params);
+
+
int skl_create_pipeline(struct skl_sst *ctx, struct skl_pipe *pipe);
int skl_run_pipe(struct skl_sst *ctx, struct skl_pipe *pipe);