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 479101736ee063d98647f5cbcd48028e84bdb4cf..1723478db4a21cd006e472011b9f2c681d530eab 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 df318f50dd0ba49bab7eb19ad5eb6ad9ad11b38b..22e13ef098119a99d08617a48f070fc13da15a5a 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 28a9692974e51d3522bb668f539107a7541d68da..81deb5582d772533cb24812a3e16e5d27b198038 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 bbeffd932de7fd18687edfcc314b5610f8f49a66..046bd57657ca3a2a443a775cc289e0d6c51945ba 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,