aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/skylake/skl-sst.c
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2015-11-05 11:04:15 -0500
committerMark Brown <broonie@kernel.org>2015-11-16 05:08:09 -0500
commitaecf6fd878eba5182665cccb943205be4c9a0337 (patch)
tree28b4511b7e22dfa64805b0de46702fa4588f1af9 /sound/soc/intel/skylake/skl-sst.c
parent40c3ac46a49da3b01b1802eb4c4ff08626f48546 (diff)
ASoC: Intel: Skylake: Use the fw name from ACPI mach table
The firmware name is hard coded which doesnt allow to load different platforms for various platforms so get this name from available machine table and pass it to dsp context for loading 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-sst.c')
-rw-r--r--sound/soc/intel/skylake/skl-sst.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/intel/skylake/skl-sst.c b/sound/soc/intel/skylake/skl-sst.c
index 5c5a244942ef..0c5039f2bd09 100644
--- a/sound/soc/intel/skylake/skl-sst.c
+++ b/sound/soc/intel/skylake/skl-sst.c
@@ -77,7 +77,7 @@ static int skl_load_base_firmware(struct sst_dsp *ctx)
77 init_waitqueue_head(&skl->boot_wait); 77 init_waitqueue_head(&skl->boot_wait);
78 78
79 if (ctx->fw == NULL) { 79 if (ctx->fw == NULL) {
80 ret = request_firmware(&ctx->fw, "dsp_fw_release.bin", ctx->dev); 80 ret = request_firmware(&ctx->fw, ctx->fw_name, ctx->dev);
81 if (ret < 0) { 81 if (ret < 0) {
82 dev_err(ctx->dev, "Request firmware failed %d\n", ret); 82 dev_err(ctx->dev, "Request firmware failed %d\n", ret);
83 skl_dsp_disable_core(ctx); 83 skl_dsp_disable_core(ctx);
@@ -223,7 +223,7 @@ static struct sst_dsp_device skl_dev = {
223}; 223};
224 224
225int skl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq, 225int skl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
226 struct skl_dsp_loader_ops dsp_ops, struct skl_sst **dsp) 226 const char *fw_name, struct skl_dsp_loader_ops dsp_ops, struct skl_sst **dsp)
227{ 227{
228 struct skl_sst *skl; 228 struct skl_sst *skl;
229 struct sst_dsp *sst; 229 struct sst_dsp *sst;
@@ -244,6 +244,7 @@ int skl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
244 244
245 sst = skl->dsp; 245 sst = skl->dsp;
246 246
247 sst->fw_name = fw_name;
247 sst->addr.lpe = mmio_base; 248 sst->addr.lpe = mmio_base;
248 sst->addr.shim = mmio_base; 249 sst->addr.shim = mmio_base;
249 sst_dsp_mailbox_init(sst, (SKL_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ), 250 sst_dsp_mailbox_init(sst, (SKL_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ),