ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Wed, 4 Dec 2019 21:15:50 +0000 (15:15 -0600)
committerMark Brown <broonie@kernel.org>
Mon, 9 Dec 2019 18:38:39 +0000 (18:38 +0000)
Currently the FW filename is obtained from the ACPI matching
table when determining which machine driver to use. In
preparation for making the machine driver ACPI match optional
for Device Tree platforms and moving the machine driver selection
out of the SOF core, this patch introduces the default_fw_filename
member in struct sof_dev_desc.

Once the machine driver selection is moved out of SOF core,
the nocodec_fw_filename will become obsolete and will be removed.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191204211556.12671-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/sof.h
sound/soc/sof/sof-acpi-dev.c
sound/soc/sof/sof-of-dev.c
sound/soc/sof/sof-pci-dev.c

index 4791017..1723478 100644 (file)
@@ -91,6 +91,9 @@ struct sof_dev_desc {
        const char *default_fw_path;
        const char *default_tplg_path;
 
+       /* default firmware name */
+       const char *default_fw_filename;
+
        const struct snd_sof_dsp_ops *ops;
        const struct sof_arch_ops *arch_ops;
 };
index df318f5..22e13ef 100644 (file)
@@ -45,6 +45,7 @@ static const struct sof_dev_desc sof_acpi_haswell_desc = {
        .chip_info = &hsw_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-hsw.ri",
        .nocodec_fw_filename = "sof-hsw.ri",
        .nocodec_tplg_filename = "sof-hsw-nocodec.tplg",
        .ops = &sof_hsw_ops,
@@ -62,6 +63,7 @@ static const struct sof_dev_desc sof_acpi_broadwell_desc = {
        .chip_info = &bdw_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-bdw.ri",
        .nocodec_fw_filename = "sof-bdw.ri",
        .nocodec_tplg_filename = "sof-bdw-nocodec.tplg",
        .ops = &sof_bdw_ops,
@@ -81,6 +83,7 @@ static const struct sof_dev_desc sof_acpi_baytrailcr_desc = {
        .chip_info = &byt_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-byt.ri",
        .nocodec_fw_filename = "sof-byt.ri",
        .nocodec_tplg_filename = "sof-byt-nocodec.tplg",
        .ops = &sof_byt_ops,
@@ -96,6 +99,7 @@ static const struct sof_dev_desc sof_acpi_baytrail_desc = {
        .chip_info = &byt_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-byt.ri",
        .nocodec_fw_filename = "sof-byt.ri",
        .nocodec_tplg_filename = "sof-byt-nocodec.tplg",
        .ops = &sof_byt_ops,
@@ -111,6 +115,7 @@ static const struct sof_dev_desc sof_acpi_cherrytrail_desc = {
        .chip_info = &cht_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-cht.ri",
        .nocodec_fw_filename = "sof-cht.ri",
        .nocodec_tplg_filename = "sof-cht-nocodec.tplg",
        .ops = &sof_cht_ops,
index 28a9692..81deb55 100644 (file)
@@ -19,6 +19,7 @@ extern struct snd_sof_dsp_ops sof_imx8_ops;
 static struct sof_dev_desc sof_of_imx8qxp_desc = {
        .default_fw_path = "imx/sof",
        .default_tplg_path = "imx/sof-tplg",
+       .default_fw_filename = "sof-imx8.ri",
        .nocodec_fw_filename = "sof-imx8.ri",
        .nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
        .ops = &sof_imx8_ops,
index bbeffd9..046bd57 100644 (file)
@@ -47,6 +47,7 @@ static const struct sof_dev_desc bxt_desc = {
        .chip_info = &apl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-apl.ri",
        .nocodec_fw_filename = "sof-apl.ri",
        .nocodec_tplg_filename = "sof-apl-nocodec.tplg",
        .ops = &sof_apl_ops,
@@ -65,6 +66,7 @@ static const struct sof_dev_desc glk_desc = {
        .chip_info = &apl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-glk.ri",
        .nocodec_fw_filename = "sof-glk.ri",
        .nocodec_tplg_filename = "sof-glk-nocodec.tplg",
        .ops = &sof_apl_ops,
@@ -93,6 +95,7 @@ static const struct sof_dev_desc tng_desc = {
        .chip_info = &tng_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-byt.ri",
        .nocodec_fw_filename = "sof-byt.ri",
        .nocodec_tplg_filename = "sof-byt.tplg",
        .ops = &sof_tng_ops,
@@ -111,6 +114,7 @@ static const struct sof_dev_desc cnl_desc = {
        .chip_info = &cnl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-cnl.ri",
        .nocodec_fw_filename = "sof-cnl.ri",
        .nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
        .ops = &sof_cnl_ops,
@@ -129,6 +133,7 @@ static const struct sof_dev_desc cfl_desc = {
        .chip_info = &cnl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-cfl.ri",
        .nocodec_fw_filename = "sof-cfl.ri",
        .nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
        .ops = &sof_cnl_ops,
@@ -149,6 +154,7 @@ static const struct sof_dev_desc cml_desc = {
        .chip_info = &cnl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-cml.ri",
        .nocodec_fw_filename = "sof-cml.ri",
        .nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
        .ops = &sof_cnl_ops,
@@ -167,6 +173,7 @@ static const struct sof_dev_desc icl_desc = {
        .chip_info = &icl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-icl.ri",
        .nocodec_fw_filename = "sof-icl.ri",
        .nocodec_tplg_filename = "sof-icl-nocodec.tplg",
        .ops = &sof_cnl_ops,
@@ -185,6 +192,7 @@ static const struct sof_dev_desc tgl_desc = {
        .chip_info = &tgl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-tgl.ri",
        .nocodec_fw_filename = "sof-tgl.ri",
        .nocodec_tplg_filename = "sof-tgl-nocodec.tplg",
        .ops = &sof_cnl_ops,
@@ -203,6 +211,7 @@ static const struct sof_dev_desc ehl_desc = {
        .chip_info = &ehl_chip_info,
        .default_fw_path = "intel/sof",
        .default_tplg_path = "intel/sof-tplg",
+       .default_fw_filename = "sof-ehl.ri",
        .nocodec_fw_filename = "sof-ehl.ri",
        .nocodec_tplg_filename = "sof-ehl-nocodec.tplg",
        .ops = &sof_cnl_ops,