ASoC: SOF: Use generic IPC type identifiers
Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>: Hi, rename the IPC type defines to be more generic and intuitive: SOF_IPC -> SOF_IPC_TYPE_3 SOF_INTEL_IPC4 -> SOF_IPC_TYPE_4 No functional change, just renaming all around. Regards, Peter --- Peter Ujfalusi (9): ASoC: SOF: Introduce generic names for IPC types ASoC: SOF: sof-pci-dev: Update the ipc_type module parameter description ASoC: SOF: Kconfig: Rename SND_SOC_SOF_INTEL_IPC4 to SND_SOC_SOF_IPC4 ASoC: SOF: Use generic names for IPC types ASoC: SOF: amd: Use generic names for IPC types ASoC: SOF: imx: Use generic names for IPC types ASoC: SOF: Intel: Use generic names for IPC types ASoC: SOF: mediatek: Use generic names for IPC types ASoC: SOF: Drop unused IPC type defines include/sound/sof.h | 4 +- sound/soc/sof/Kconfig | 2 +- sound/soc/sof/Makefile | 4 +- sound/soc/sof/amd/pci-rmb.c | 10 +- sound/soc/sof/amd/pci-rn.c | 10 +- sound/soc/sof/amd/pci-vangogh.c | 10 +- sound/soc/sof/imx/imx8.c | 20 +-- sound/soc/sof/imx/imx8m.c | 10 +- sound/soc/sof/imx/imx8ulp.c | 10 +- sound/soc/sof/intel/Kconfig | 14 +- sound/soc/sof/intel/apl.c | 4 +- sound/soc/sof/intel/bdw.c | 10 +- sound/soc/sof/intel/byt.c | 30 ++-- sound/soc/sof/intel/cnl.c | 4 +- sound/soc/sof/intel/hda-dai-ops.c | 4 +- sound/soc/sof/intel/hda-dai.c | 4 +- sound/soc/sof/intel/hda-loader.c | 2 +- sound/soc/sof/intel/hda.c | 2 +- sound/soc/sof/intel/icl.c | 4 +- sound/soc/sof/intel/pci-apl.c | 36 ++--- sound/soc/sof/intel/pci-cnl.c | 54 ++++---- sound/soc/sof/intel/pci-icl.c | 36 ++--- sound/soc/sof/intel/pci-lnl.c | 10 +- sound/soc/sof/intel/pci-mtl.c | 12 +- sound/soc/sof/intel/pci-skl.c | 20 +-- sound/soc/sof/intel/pci-tgl.c | 144 ++++++++++---------- sound/soc/sof/intel/pci-tng.c | 10 +- sound/soc/sof/intel/tgl.c | 4 +- sound/soc/sof/ipc.c | 6 +- sound/soc/sof/ipc3-dtrace.c | 2 +- sound/soc/sof/mediatek/mt8186/mt8186.c | 20 +-- sound/soc/sof/mediatek/mt8195/mt8195.c | 10 +- sound/soc/sof/sof-acpi-dev.c | 8 +- sound/soc/sof/sof-client-ipc-msg-injector.c | 4 +- sound/soc/sof/sof-client-probes.c | 6 +- sound/soc/sof/sof-client.c | 26 ++-- sound/soc/sof/sof-of-dev.c | 6 +- sound/soc/sof/sof-pci-dev.c | 2 +- 38 files changed, 286 insertions(+), 288 deletions(-) -- 2.42.0
This commit is contained in:
commit
3fd61ce9dc
@ -52,8 +52,8 @@ enum sof_dsp_power_states {
|
|||||||
|
|
||||||
/* Definitions for multiple IPCs */
|
/* Definitions for multiple IPCs */
|
||||||
enum sof_ipc_type {
|
enum sof_ipc_type {
|
||||||
SOF_IPC,
|
SOF_IPC_TYPE_3,
|
||||||
SOF_INTEL_IPC4,
|
SOF_IPC_TYPE_4,
|
||||||
SOF_IPC_TYPE_COUNT
|
SOF_IPC_TYPE_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -283,7 +283,7 @@ config SND_SOC_SOF_PROBE_WORK_QUEUE
|
|||||||
config SND_SOC_SOF_IPC3
|
config SND_SOC_SOF_IPC3
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config SND_SOC_SOF_INTEL_IPC4
|
config SND_SOC_SOF_IPC4
|
||||||
bool
|
bool
|
||||||
|
|
||||||
source "sound/soc/sof/amd/Kconfig"
|
source "sound/soc/sof/amd/Kconfig"
|
||||||
|
@ -8,7 +8,7 @@ ifneq ($(CONFIG_SND_SOC_SOF_IPC3),)
|
|||||||
snd-sof-objs += ipc3.o ipc3-loader.o ipc3-topology.o ipc3-control.o ipc3-pcm.o\
|
snd-sof-objs += ipc3.o ipc3-loader.o ipc3-topology.o ipc3-control.o ipc3-pcm.o\
|
||||||
ipc3-dtrace.o
|
ipc3-dtrace.o
|
||||||
endif
|
endif
|
||||||
ifneq ($(CONFIG_SND_SOC_SOF_INTEL_IPC4),)
|
ifneq ($(CONFIG_SND_SOC_SOF_IPC4),)
|
||||||
snd-sof-objs += ipc4.o ipc4-loader.o ipc4-topology.o ipc4-control.o ipc4-pcm.o\
|
snd-sof-objs += ipc4.o ipc4-loader.o ipc4-topology.o ipc4-control.o ipc4-pcm.o\
|
||||||
ipc4-mtrace.o
|
ipc4-mtrace.o
|
||||||
endif
|
endif
|
||||||
@ -31,7 +31,7 @@ snd-sof-probes-objs := sof-client-probes.o
|
|||||||
ifneq ($(CONFIG_SND_SOC_SOF_IPC3),)
|
ifneq ($(CONFIG_SND_SOC_SOF_IPC3),)
|
||||||
snd-sof-probes-objs += sof-client-probes-ipc3.o
|
snd-sof-probes-objs += sof-client-probes-ipc3.o
|
||||||
endif
|
endif
|
||||||
ifneq ($(CONFIG_SND_SOC_SOF_INTEL_IPC4),)
|
ifneq ($(CONFIG_SND_SOC_SOF_IPC4),)
|
||||||
snd-sof-probes-objs += sof-client-probes-ipc4.o
|
snd-sof-probes-objs += sof-client-probes-ipc4.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -47,16 +47,16 @@ static const struct sof_dev_desc rembrandt_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &rembrandt_chip_info,
|
.chip_info = &rembrandt_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "amd/sof",
|
[SOF_IPC_TYPE_3] = "amd/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "amd/sof-tplg",
|
[SOF_IPC_TYPE_3] = "amd/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-rmb.ri",
|
[SOF_IPC_TYPE_3] = "sof-rmb.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-acp.tplg",
|
.nocodec_tplg_filename = "sof-acp.tplg",
|
||||||
.ops = &sof_rembrandt_ops,
|
.ops = &sof_rembrandt_ops,
|
||||||
|
@ -47,16 +47,16 @@ static const struct sof_dev_desc renoir_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &renoir_chip_info,
|
.chip_info = &renoir_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "amd/sof",
|
[SOF_IPC_TYPE_3] = "amd/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "amd/sof-tplg",
|
[SOF_IPC_TYPE_3] = "amd/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-rn.ri",
|
[SOF_IPC_TYPE_3] = "sof-rn.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-acp.tplg",
|
.nocodec_tplg_filename = "sof-acp.tplg",
|
||||||
.ops = &sof_renoir_ops,
|
.ops = &sof_renoir_ops,
|
||||||
|
@ -45,16 +45,16 @@ static const struct sof_dev_desc vangogh_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &vangogh_chip_info,
|
.chip_info = &vangogh_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "amd/sof",
|
[SOF_IPC_TYPE_3] = "amd/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "amd/sof-tplg",
|
[SOF_IPC_TYPE_3] = "amd/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-vangogh.ri",
|
[SOF_IPC_TYPE_3] = "sof-vangogh.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-acp.tplg",
|
.nocodec_tplg_filename = "sof-acp.tplg",
|
||||||
.ops = &sof_vangogh_ops,
|
.ops = &sof_vangogh_ops,
|
||||||
|
@ -609,32 +609,32 @@ static struct snd_sof_dsp_ops sof_imx8x_ops = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct sof_dev_desc sof_of_imx8qxp_desc = {
|
static struct sof_dev_desc sof_of_imx8qxp_desc = {
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "imx/sof",
|
[SOF_IPC_TYPE_3] = "imx/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "imx/sof-tplg",
|
[SOF_IPC_TYPE_3] = "imx/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-imx8x.ri",
|
[SOF_IPC_TYPE_3] = "sof-imx8x.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
||||||
.ops = &sof_imx8x_ops,
|
.ops = &sof_imx8x_ops,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct sof_dev_desc sof_of_imx8qm_desc = {
|
static struct sof_dev_desc sof_of_imx8qm_desc = {
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "imx/sof",
|
[SOF_IPC_TYPE_3] = "imx/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "imx/sof-tplg",
|
[SOF_IPC_TYPE_3] = "imx/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-imx8.ri",
|
[SOF_IPC_TYPE_3] = "sof-imx8.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
||||||
.ops = &sof_imx8_ops,
|
.ops = &sof_imx8_ops,
|
||||||
|
@ -471,16 +471,16 @@ static struct snd_sof_dsp_ops sof_imx8m_ops = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct sof_dev_desc sof_of_imx8mp_desc = {
|
static struct sof_dev_desc sof_of_imx8mp_desc = {
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "imx/sof",
|
[SOF_IPC_TYPE_3] = "imx/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "imx/sof-tplg",
|
[SOF_IPC_TYPE_3] = "imx/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-imx8m.ri",
|
[SOF_IPC_TYPE_3] = "sof-imx8m.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
|
||||||
.ops = &sof_imx8m_ops,
|
.ops = &sof_imx8m_ops,
|
||||||
|
@ -478,16 +478,16 @@ static struct snd_sof_dsp_ops sof_imx8ulp_ops = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct sof_dev_desc sof_of_imx8ulp_desc = {
|
static struct sof_dev_desc sof_of_imx8ulp_desc = {
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "imx/sof",
|
[SOF_IPC_TYPE_3] = "imx/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "imx/sof-tplg",
|
[SOF_IPC_TYPE_3] = "imx/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-imx8ulp.ri",
|
[SOF_IPC_TYPE_3] = "sof-imx8ulp.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-imx8ulp-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-imx8ulp-nocodec.tplg",
|
||||||
.ops = &sof_imx8ulp_ops,
|
.ops = &sof_imx8ulp_ops,
|
||||||
|
@ -98,7 +98,7 @@ config SND_SOC_SOF_MERRIFIELD
|
|||||||
config SND_SOC_SOF_INTEL_SKL
|
config SND_SOC_SOF_INTEL_SKL
|
||||||
tristate
|
tristate
|
||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_SKYLAKE
|
config SND_SOC_SOF_SKYLAKE
|
||||||
tristate "SOF support for SkyLake"
|
tristate "SOF support for SkyLake"
|
||||||
@ -124,7 +124,7 @@ config SND_SOC_SOF_INTEL_APL
|
|||||||
tristate
|
tristate
|
||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_IPC3
|
select SND_SOC_SOF_IPC3
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_APOLLOLAKE
|
config SND_SOC_SOF_APOLLOLAKE
|
||||||
tristate "SOF support for Apollolake"
|
tristate "SOF support for Apollolake"
|
||||||
@ -151,7 +151,7 @@ config SND_SOC_SOF_INTEL_CNL
|
|||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
||||||
select SND_SOC_SOF_IPC3
|
select SND_SOC_SOF_IPC3
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_CANNONLAKE
|
config SND_SOC_SOF_CANNONLAKE
|
||||||
tristate "SOF support for Cannonlake"
|
tristate "SOF support for Cannonlake"
|
||||||
@ -187,7 +187,7 @@ config SND_SOC_SOF_INTEL_ICL
|
|||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
||||||
select SND_SOC_SOF_IPC3
|
select SND_SOC_SOF_IPC3
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_ICELAKE
|
config SND_SOC_SOF_ICELAKE
|
||||||
tristate "SOF support for Icelake"
|
tristate "SOF support for Icelake"
|
||||||
@ -214,7 +214,7 @@ config SND_SOC_SOF_INTEL_TGL
|
|||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
||||||
select SND_SOC_SOF_IPC3
|
select SND_SOC_SOF_IPC3
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_TIGERLAKE
|
config SND_SOC_SOF_TIGERLAKE
|
||||||
tristate "SOF support for Tigerlake"
|
tristate "SOF support for Tigerlake"
|
||||||
@ -250,7 +250,7 @@ config SND_SOC_SOF_INTEL_MTL
|
|||||||
tristate
|
tristate
|
||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_METEORLAKE
|
config SND_SOC_SOF_METEORLAKE
|
||||||
tristate "SOF support for Meteorlake"
|
tristate "SOF support for Meteorlake"
|
||||||
@ -266,7 +266,7 @@ config SND_SOC_SOF_INTEL_LNL
|
|||||||
tristate
|
tristate
|
||||||
select SND_SOC_SOF_HDA_COMMON
|
select SND_SOC_SOF_HDA_COMMON
|
||||||
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
||||||
select SND_SOC_SOF_INTEL_IPC4
|
select SND_SOC_SOF_IPC4
|
||||||
|
|
||||||
config SND_SOC_SOF_LUNARLAKE
|
config SND_SOC_SOF_LUNARLAKE
|
||||||
tristate "SOF support for Lunarlake"
|
tristate "SOF support for Lunarlake"
|
||||||
|
@ -39,7 +39,7 @@ int sof_apl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
/* probe/remove/shutdown */
|
/* probe/remove/shutdown */
|
||||||
sof_apl_ops.shutdown = hda_dsp_shutdown;
|
sof_apl_ops.shutdown = hda_dsp_shutdown;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_IPC) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
/* doorbell */
|
/* doorbell */
|
||||||
sof_apl_ops.irq_thread = hda_dsp_ipc_irq_thread;
|
sof_apl_ops.irq_thread = hda_dsp_ipc_irq_thread;
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ int sof_apl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
sof_apl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
sof_apl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data;
|
struct sof_ipc4_fw_data *ipc4_data;
|
||||||
|
|
||||||
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
||||||
|
@ -639,16 +639,16 @@ static const struct sof_dev_desc sof_acpi_broadwell_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = 0,
|
.irqindex_host_ipc = 0,
|
||||||
.chip_info = &bdw_chip_info,
|
.chip_info = &bdw_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-bdw.ri",
|
[SOF_IPC_TYPE_3] = "sof-bdw.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-bdw-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-bdw-nocodec.tplg",
|
||||||
.ops = &sof_bdw_ops,
|
.ops = &sof_bdw_ops,
|
||||||
|
@ -374,16 +374,16 @@ static const struct sof_dev_desc sof_acpi_baytrailcr_desc = {
|
|||||||
.resindex_imr_base = 2,
|
.resindex_imr_base = 2,
|
||||||
.irqindex_host_ipc = 0,
|
.irqindex_host_ipc = 0,
|
||||||
.chip_info = &byt_chip_info,
|
.chip_info = &byt_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-byt.ri",
|
[SOF_IPC_TYPE_3] = "sof-byt.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-byt-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-byt-nocodec.tplg",
|
||||||
.ops = &sof_byt_ops,
|
.ops = &sof_byt_ops,
|
||||||
@ -396,16 +396,16 @@ static const struct sof_dev_desc sof_acpi_baytrail_desc = {
|
|||||||
.resindex_imr_base = 2,
|
.resindex_imr_base = 2,
|
||||||
.irqindex_host_ipc = 5,
|
.irqindex_host_ipc = 5,
|
||||||
.chip_info = &byt_chip_info,
|
.chip_info = &byt_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-byt.ri",
|
[SOF_IPC_TYPE_3] = "sof-byt.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-byt-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-byt-nocodec.tplg",
|
||||||
.ops = &sof_byt_ops,
|
.ops = &sof_byt_ops,
|
||||||
@ -418,16 +418,16 @@ static const struct sof_dev_desc sof_acpi_cherrytrail_desc = {
|
|||||||
.resindex_imr_base = 2,
|
.resindex_imr_base = 2,
|
||||||
.irqindex_host_ipc = 5,
|
.irqindex_host_ipc = 5,
|
||||||
.chip_info = &cht_chip_info,
|
.chip_info = &cht_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-cht.ri",
|
[SOF_IPC_TYPE_3] = "sof-cht.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-cht-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-cht-nocodec.tplg",
|
||||||
.ops = &sof_cht_ops,
|
.ops = &sof_cht_ops,
|
||||||
|
@ -386,7 +386,7 @@ int sof_cnl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
sof_cnl_ops.shutdown = hda_dsp_shutdown;
|
sof_cnl_ops.shutdown = hda_dsp_shutdown;
|
||||||
|
|
||||||
/* ipc */
|
/* ipc */
|
||||||
if (sdev->pdata->ipc_type == SOF_IPC) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
/* doorbell */
|
/* doorbell */
|
||||||
sof_cnl_ops.irq_thread = cnl_ipc_irq_thread;
|
sof_cnl_ops.irq_thread = cnl_ipc_irq_thread;
|
||||||
|
|
||||||
@ -399,7 +399,7 @@ int sof_cnl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
sof_cnl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
sof_cnl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data;
|
struct sof_ipc4_fw_data *ipc4_data;
|
||||||
|
|
||||||
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
||||||
|
@ -609,7 +609,7 @@ hda_select_dai_widget_ops(struct snd_sof_dev *sdev, struct snd_sof_widget *swidg
|
|||||||
sdai = swidget->private;
|
sdai = swidget->private;
|
||||||
|
|
||||||
switch (sdev->pdata->ipc_type) {
|
switch (sdev->pdata->ipc_type) {
|
||||||
case SOF_IPC:
|
case SOF_IPC_TYPE_3:
|
||||||
{
|
{
|
||||||
struct sof_dai_private_data *private = sdai->private;
|
struct sof_dai_private_data *private = sdai->private;
|
||||||
|
|
||||||
@ -617,7 +617,7 @@ hda_select_dai_widget_ops(struct snd_sof_dev *sdev, struct snd_sof_widget *swidg
|
|||||||
return &hda_ipc3_dma_ops;
|
return &hda_ipc3_dma_ops;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SOF_INTEL_IPC4:
|
case SOF_IPC_TYPE_4:
|
||||||
{
|
{
|
||||||
struct sof_ipc4_copier *ipc4_copier = sdai->private;
|
struct sof_ipc4_copier *ipc4_copier = sdai->private;
|
||||||
const struct sof_intel_dsp_desc *chip;
|
const struct sof_intel_dsp_desc *chip;
|
||||||
|
@ -607,7 +607,7 @@ void hda_set_dai_drv_ops(struct snd_sof_dev *sdev, struct snd_sof_dsp_ops *ops)
|
|||||||
ssp_set_dai_drv_ops(sdev, ops);
|
ssp_set_dai_drv_ops(sdev, ops);
|
||||||
dmic_set_dai_drv_ops(sdev, ops);
|
dmic_set_dai_drv_ops(sdev, ops);
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4 && !hda_use_tplg_nhlt) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4 && !hda_use_tplg_nhlt) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data = sdev->private;
|
struct sof_ipc4_fw_data *ipc4_data = sdev->private;
|
||||||
|
|
||||||
ipc4_data->nhlt = intel_nhlt_init(sdev->dev);
|
ipc4_data->nhlt = intel_nhlt_init(sdev->dev);
|
||||||
@ -616,7 +616,7 @@ void hda_set_dai_drv_ops(struct snd_sof_dev *sdev, struct snd_sof_dsp_ops *ops)
|
|||||||
|
|
||||||
void hda_ops_free(struct snd_sof_dev *sdev)
|
void hda_ops_free(struct snd_sof_dev *sdev)
|
||||||
{
|
{
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data = sdev->private;
|
struct sof_ipc4_fw_data *ipc4_data = sdev->private;
|
||||||
|
|
||||||
if (!hda_use_tplg_nhlt)
|
if (!hda_use_tplg_nhlt)
|
||||||
|
@ -643,7 +643,7 @@ int hda_dsp_post_fw_run(struct snd_sof_dev *sdev)
|
|||||||
/* Check if IMR boot is usable */
|
/* Check if IMR boot is usable */
|
||||||
if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT) &&
|
if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT) &&
|
||||||
(sdev->fw_ready.flags & SOF_IPC_INFO_D3_PERSISTENT ||
|
(sdev->fw_ready.flags & SOF_IPC_INFO_D3_PERSISTENT ||
|
||||||
sdev->pdata->ipc_type == SOF_INTEL_IPC4))
|
sdev->pdata->ipc_type == SOF_IPC_TYPE_4))
|
||||||
hdev->imrboot_supported = true;
|
hdev->imrboot_supported = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -718,7 +718,7 @@ void hda_dsp_dump(struct snd_sof_dev *sdev, u32 flags)
|
|||||||
hda_dsp_get_state(sdev, level);
|
hda_dsp_get_state(sdev, level);
|
||||||
|
|
||||||
/* The firmware register dump only available with IPC3 */
|
/* The firmware register dump only available with IPC3 */
|
||||||
if (flags & SOF_DBG_DUMP_REGS && sdev->pdata->ipc_type == SOF_IPC) {
|
if (flags & SOF_DBG_DUMP_REGS && sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
u32 status = snd_sof_dsp_read(sdev, HDA_DSP_BAR, HDA_DSP_SRAM_REG_FW_STATUS);
|
u32 status = snd_sof_dsp_read(sdev, HDA_DSP_BAR, HDA_DSP_SRAM_REG_FW_STATUS);
|
||||||
u32 panic = snd_sof_dsp_read(sdev, HDA_DSP_BAR, HDA_DSP_SRAM_REG_FW_TRACEP);
|
u32 panic = snd_sof_dsp_read(sdev, HDA_DSP_BAR, HDA_DSP_SRAM_REG_FW_TRACEP);
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ int sof_icl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
/* probe/remove/shutdown */
|
/* probe/remove/shutdown */
|
||||||
sof_icl_ops.shutdown = hda_dsp_shutdown;
|
sof_icl_ops.shutdown = hda_dsp_shutdown;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_IPC) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
/* doorbell */
|
/* doorbell */
|
||||||
sof_icl_ops.irq_thread = cnl_ipc_irq_thread;
|
sof_icl_ops.irq_thread = cnl_ipc_irq_thread;
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ int sof_icl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
sof_icl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
sof_icl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data;
|
struct sof_ipc4_fw_data *ipc4_data;
|
||||||
|
|
||||||
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
||||||
|
@ -27,23 +27,23 @@ static const struct sof_dev_desc bxt_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &apl_chip_info,
|
.chip_info = &apl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/apl",
|
[SOF_IPC_TYPE_4] = "intel/avs/apl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/apl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/apl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-apl.ri",
|
[SOF_IPC_TYPE_3] = "sof-apl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-apl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-apl-nocodec.tplg",
|
||||||
.ops = &sof_apl_ops,
|
.ops = &sof_apl_ops,
|
||||||
@ -59,23 +59,23 @@ static const struct sof_dev_desc glk_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &apl_chip_info,
|
.chip_info = &apl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/glk",
|
[SOF_IPC_TYPE_4] = "intel/avs/glk",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/glk",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/glk",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-glk.ri",
|
[SOF_IPC_TYPE_3] = "sof-glk.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-glk-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-glk-nocodec.tplg",
|
||||||
.ops = &sof_apl_ops,
|
.ops = &sof_apl_ops,
|
||||||
|
@ -28,23 +28,23 @@ static const struct sof_dev_desc cnl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &cnl_chip_info,
|
.chip_info = &cnl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs/cnl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/cnl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-cnl.ri",
|
[SOF_IPC_TYPE_3] = "sof-cnl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
||||||
.ops = &sof_cnl_ops,
|
.ops = &sof_cnl_ops,
|
||||||
@ -61,23 +61,23 @@ static const struct sof_dev_desc cfl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &cnl_chip_info,
|
.chip_info = &cnl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs/cnl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/cnl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-cfl.ri",
|
[SOF_IPC_TYPE_3] = "sof-cfl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
||||||
.ops = &sof_cnl_ops,
|
.ops = &sof_cnl_ops,
|
||||||
@ -94,23 +94,23 @@ static const struct sof_dev_desc cml_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &cnl_chip_info,
|
.chip_info = &cnl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs/cnl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/cnl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-cml.ri",
|
[SOF_IPC_TYPE_3] = "sof-cml.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
||||||
.ops = &sof_cnl_ops,
|
.ops = &sof_cnl_ops,
|
||||||
|
@ -28,23 +28,23 @@ static const struct sof_dev_desc icl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &icl_chip_info,
|
.chip_info = &icl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/icl",
|
[SOF_IPC_TYPE_4] = "intel/avs/icl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/icl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/icl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-icl.ri",
|
[SOF_IPC_TYPE_3] = "sof-icl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-icl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-icl-nocodec.tplg",
|
||||||
.ops = &sof_icl_ops,
|
.ops = &sof_icl_ops,
|
||||||
@ -60,23 +60,23 @@ static const struct sof_dev_desc jsl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &jsl_chip_info,
|
.chip_info = &jsl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/jsl",
|
[SOF_IPC_TYPE_4] = "intel/avs/jsl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/jsl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/jsl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-jsl.ri",
|
[SOF_IPC_TYPE_3] = "sof-jsl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-jsl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-jsl-nocodec.tplg",
|
||||||
.ops = &sof_cnl_ops,
|
.ops = &sof_cnl_ops,
|
||||||
|
@ -29,17 +29,17 @@ static const struct sof_dev_desc lnl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &lnl_chip_info,
|
.chip_info = &lnl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_INTEL_IPC4,
|
.ipc_default = SOF_IPC_TYPE_4,
|
||||||
.dspless_mode_supported = true,
|
.dspless_mode_supported = true,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/sof-ipc4/lnl",
|
[SOF_IPC_TYPE_4] = "intel/sof-ipc4/lnl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/sof-ace-tplg",
|
[SOF_IPC_TYPE_4] = "intel/sof-ace-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_INTEL_IPC4] = "sof-lnl.ri",
|
[SOF_IPC_TYPE_4] = "sof-lnl.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-lnl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-lnl-nocodec.tplg",
|
||||||
.ops = &sof_lnl_ops,
|
.ops = &sof_lnl_ops,
|
||||||
|
@ -29,20 +29,20 @@ static const struct sof_dev_desc mtl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &mtl_chip_info,
|
.chip_info = &mtl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_INTEL_IPC4,
|
.ipc_default = SOF_IPC_TYPE_4,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/sof-ipc4/mtl",
|
[SOF_IPC_TYPE_4] = "intel/sof-ipc4/mtl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/sof-ipc4-lib/mtl",
|
[SOF_IPC_TYPE_4] = "intel/sof-ipc4-lib/mtl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/sof-ace-tplg",
|
[SOF_IPC_TYPE_4] = "intel/sof-ace-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_INTEL_IPC4] = "sof-mtl.ri",
|
[SOF_IPC_TYPE_4] = "sof-mtl.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-mtl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-mtl-nocodec.tplg",
|
||||||
.ops = &sof_mtl_ops,
|
.ops = &sof_mtl_ops,
|
||||||
|
@ -24,17 +24,17 @@ static struct sof_dev_desc skl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.chip_info = &skl_chip_info,
|
.chip_info = &skl_chip_info,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.ipc_supported_mask = BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_INTEL_IPC4,
|
.ipc_default = SOF_IPC_TYPE_4,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/skl",
|
[SOF_IPC_TYPE_4] = "intel/avs/skl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-skl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-skl-nocodec.tplg",
|
||||||
.ops = &sof_skl_ops,
|
.ops = &sof_skl_ops,
|
||||||
@ -49,17 +49,17 @@ static struct sof_dev_desc kbl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.chip_info = &skl_chip_info,
|
.chip_info = &skl_chip_info,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.ipc_supported_mask = BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_INTEL_IPC4,
|
.ipc_default = SOF_IPC_TYPE_4,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/kbl",
|
[SOF_IPC_TYPE_4] = "intel/avs/kbl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-kbl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-kbl-nocodec.tplg",
|
||||||
.ops = &sof_skl_ops,
|
.ops = &sof_skl_ops,
|
||||||
|
@ -28,23 +28,23 @@ static const struct sof_dev_desc tgl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tgl_chip_info,
|
.chip_info = &tgl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/tgl",
|
[SOF_IPC_TYPE_4] = "intel/avs/tgl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/tgl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/tgl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-tgl.ri",
|
[SOF_IPC_TYPE_3] = "sof-tgl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-tgl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-tgl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -61,23 +61,23 @@ static const struct sof_dev_desc tglh_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tglh_chip_info,
|
.chip_info = &tglh_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/tgl-h",
|
[SOF_IPC_TYPE_4] = "intel/avs/tgl-h",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/tgl-h",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/tgl-h",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-tgl-h.ri",
|
[SOF_IPC_TYPE_3] = "sof-tgl-h.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-tgl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-tgl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -93,23 +93,23 @@ static const struct sof_dev_desc ehl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &ehl_chip_info,
|
.chip_info = &ehl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/ehl",
|
[SOF_IPC_TYPE_4] = "intel/avs/ehl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/ehl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/ehl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-ehl.ri",
|
[SOF_IPC_TYPE_3] = "sof-ehl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-ehl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-ehl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -126,23 +126,23 @@ static const struct sof_dev_desc adls_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &adls_chip_info,
|
.chip_info = &adls_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/adl-s",
|
[SOF_IPC_TYPE_4] = "intel/avs/adl-s",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/adl-s",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/adl-s",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-adl-s.ri",
|
[SOF_IPC_TYPE_3] = "sof-adl-s.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -159,23 +159,23 @@ static const struct sof_dev_desc adl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tgl_chip_info,
|
.chip_info = &tgl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/adl",
|
[SOF_IPC_TYPE_4] = "intel/avs/adl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/adl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/adl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-adl.ri",
|
[SOF_IPC_TYPE_3] = "sof-adl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -192,23 +192,23 @@ static const struct sof_dev_desc adl_n_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tgl_chip_info,
|
.chip_info = &tgl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/adl-n",
|
[SOF_IPC_TYPE_4] = "intel/avs/adl-n",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/adl-n",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/adl-n",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-adl-n.ri",
|
[SOF_IPC_TYPE_3] = "sof-adl-n.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-adl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -225,23 +225,23 @@ static const struct sof_dev_desc rpls_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &adls_chip_info,
|
.chip_info = &adls_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/rpl-s",
|
[SOF_IPC_TYPE_4] = "intel/avs/rpl-s",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/rpl-s",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/rpl-s",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-rpl-s.ri",
|
[SOF_IPC_TYPE_3] = "sof-rpl-s.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-rpl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-rpl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
@ -258,23 +258,23 @@ static const struct sof_dev_desc rpl_desc = {
|
|||||||
.resindex_imr_base = -1,
|
.resindex_imr_base = -1,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tgl_chip_info,
|
.chip_info = &tgl_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3) | BIT(SOF_IPC_TYPE_4),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
.dspless_mode_supported = true, /* Only supported for HDaudio */
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs/rpl",
|
[SOF_IPC_TYPE_4] = "intel/avs/rpl",
|
||||||
},
|
},
|
||||||
.default_lib_path = {
|
.default_lib_path = {
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-lib/rpl",
|
[SOF_IPC_TYPE_4] = "intel/avs-lib/rpl",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
[SOF_INTEL_IPC4] = "intel/avs-tplg",
|
[SOF_IPC_TYPE_4] = "intel/avs-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-rpl.ri",
|
[SOF_IPC_TYPE_3] = "sof-rpl.ri",
|
||||||
[SOF_INTEL_IPC4] = "dsp_basefw.bin",
|
[SOF_IPC_TYPE_4] = "dsp_basefw.bin",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-rpl-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-rpl-nocodec.tplg",
|
||||||
.ops = &sof_tgl_ops,
|
.ops = &sof_tgl_ops,
|
||||||
|
@ -208,16 +208,16 @@ static const struct sof_dev_desc tng_desc = {
|
|||||||
.resindex_imr_base = 0,
|
.resindex_imr_base = 0,
|
||||||
.irqindex_host_ipc = -1,
|
.irqindex_host_ipc = -1,
|
||||||
.chip_info = &tng_chip_info,
|
.chip_info = &tng_chip_info,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "intel/sof",
|
[SOF_IPC_TYPE_3] = "intel/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "intel/sof-tplg",
|
[SOF_IPC_TYPE_3] = "intel/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-byt.ri",
|
[SOF_IPC_TYPE_3] = "sof-byt.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-byt.tplg",
|
.nocodec_tplg_filename = "sof-byt.tplg",
|
||||||
.ops = &sof_tng_ops,
|
.ops = &sof_tng_ops,
|
||||||
|
@ -66,7 +66,7 @@ int sof_tgl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
/* probe/remove/shutdown */
|
/* probe/remove/shutdown */
|
||||||
sof_tgl_ops.shutdown = hda_dsp_shutdown_dma_flush;
|
sof_tgl_ops.shutdown = hda_dsp_shutdown_dma_flush;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_IPC) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
/* doorbell */
|
/* doorbell */
|
||||||
sof_tgl_ops.irq_thread = cnl_ipc_irq_thread;
|
sof_tgl_ops.irq_thread = cnl_ipc_irq_thread;
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ int sof_tgl_ops_init(struct snd_sof_dev *sdev)
|
|||||||
sof_tgl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
sof_tgl_ops.set_power_state = hda_dsp_set_power_state_ipc3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_fw_data *ipc4_data;
|
struct sof_ipc4_fw_data *ipc4_data;
|
||||||
|
|
||||||
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
sdev->private = devm_kzalloc(sdev->dev, sizeof(*ipc4_data), GFP_KERNEL);
|
||||||
|
@ -165,12 +165,12 @@ struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev)
|
|||||||
|
|
||||||
switch (sdev->pdata->ipc_type) {
|
switch (sdev->pdata->ipc_type) {
|
||||||
#if defined(CONFIG_SND_SOC_SOF_IPC3)
|
#if defined(CONFIG_SND_SOC_SOF_IPC3)
|
||||||
case SOF_IPC:
|
case SOF_IPC_TYPE_3:
|
||||||
ops = &ipc3_ops;
|
ops = &ipc3_ops;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_SND_SOC_SOF_INTEL_IPC4)
|
#if defined(CONFIG_SND_SOC_SOF_IPC4)
|
||||||
case SOF_INTEL_IPC4:
|
case SOF_IPC_TYPE_4:
|
||||||
ops = &ipc4_ops;
|
ops = &ipc4_ops;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -494,7 +494,7 @@ static int ipc3_dtrace_init(struct snd_sof_dev *sdev)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* dtrace is only supported with SOF_IPC */
|
/* dtrace is only supported with SOF_IPC */
|
||||||
if (sdev->pdata->ipc_type != SOF_IPC)
|
if (sdev->pdata->ipc_type != SOF_IPC_TYPE_3)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
if (sdev->fw_trace_data) {
|
if (sdev->fw_trace_data) {
|
||||||
|
@ -607,16 +607,16 @@ static struct snd_sof_of_mach sof_mt8186_machs[] = {
|
|||||||
|
|
||||||
static const struct sof_dev_desc sof_of_mt8186_desc = {
|
static const struct sof_dev_desc sof_of_mt8186_desc = {
|
||||||
.of_machines = sof_mt8186_machs,
|
.of_machines = sof_mt8186_machs,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "mediatek/sof",
|
[SOF_IPC_TYPE_3] = "mediatek/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "mediatek/sof-tplg",
|
[SOF_IPC_TYPE_3] = "mediatek/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-mt8186.ri",
|
[SOF_IPC_TYPE_3] = "sof-mt8186.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-mt8186-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-mt8186-nocodec.tplg",
|
||||||
.ops = &sof_mt8186_ops,
|
.ops = &sof_mt8186_ops,
|
||||||
@ -681,16 +681,16 @@ static struct snd_sof_of_mach sof_mt8188_machs[] = {
|
|||||||
|
|
||||||
static const struct sof_dev_desc sof_of_mt8188_desc = {
|
static const struct sof_dev_desc sof_of_mt8188_desc = {
|
||||||
.of_machines = sof_mt8188_machs,
|
.of_machines = sof_mt8188_machs,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "mediatek/sof",
|
[SOF_IPC_TYPE_3] = "mediatek/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "mediatek/sof-tplg",
|
[SOF_IPC_TYPE_3] = "mediatek/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-mt8188.ri",
|
[SOF_IPC_TYPE_3] = "sof-mt8188.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-mt8188-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-mt8188-nocodec.tplg",
|
||||||
.ops = &sof_mt8188_ops,
|
.ops = &sof_mt8188_ops,
|
||||||
|
@ -635,16 +635,16 @@ static struct snd_sof_of_mach sof_mt8195_machs[] = {
|
|||||||
|
|
||||||
static const struct sof_dev_desc sof_of_mt8195_desc = {
|
static const struct sof_dev_desc sof_of_mt8195_desc = {
|
||||||
.of_machines = sof_mt8195_machs,
|
.of_machines = sof_mt8195_machs,
|
||||||
.ipc_supported_mask = BIT(SOF_IPC),
|
.ipc_supported_mask = BIT(SOF_IPC_TYPE_3),
|
||||||
.ipc_default = SOF_IPC,
|
.ipc_default = SOF_IPC_TYPE_3,
|
||||||
.default_fw_path = {
|
.default_fw_path = {
|
||||||
[SOF_IPC] = "mediatek/sof",
|
[SOF_IPC_TYPE_3] = "mediatek/sof",
|
||||||
},
|
},
|
||||||
.default_tplg_path = {
|
.default_tplg_path = {
|
||||||
[SOF_IPC] = "mediatek/sof-tplg",
|
[SOF_IPC_TYPE_3] = "mediatek/sof-tplg",
|
||||||
},
|
},
|
||||||
.default_fw_filename = {
|
.default_fw_filename = {
|
||||||
[SOF_IPC] = "sof-mt8195.ri",
|
[SOF_IPC_TYPE_3] = "sof-mt8195.ri",
|
||||||
},
|
},
|
||||||
.nocodec_tplg_filename = "sof-mt8195-nocodec.tplg",
|
.nocodec_tplg_filename = "sof-mt8195-nocodec.tplg",
|
||||||
.ops = &sof_mt8195_ops,
|
.ops = &sof_mt8195_ops,
|
||||||
|
@ -74,20 +74,18 @@ int sof_acpi_probe(struct platform_device *pdev, const struct sof_dev_desc *desc
|
|||||||
|
|
||||||
sof_pdata->desc = desc;
|
sof_pdata->desc = desc;
|
||||||
sof_pdata->dev = &pdev->dev;
|
sof_pdata->dev = &pdev->dev;
|
||||||
sof_pdata->fw_filename = desc->default_fw_filename[SOF_IPC];
|
sof_pdata->fw_filename = desc->default_fw_filename[SOF_IPC_TYPE_3];
|
||||||
|
|
||||||
/* alternate fw and tplg filenames ? */
|
/* alternate fw and tplg filenames ? */
|
||||||
if (fw_path)
|
if (fw_path)
|
||||||
sof_pdata->fw_filename_prefix = fw_path;
|
sof_pdata->fw_filename_prefix = fw_path;
|
||||||
else
|
else
|
||||||
sof_pdata->fw_filename_prefix =
|
sof_pdata->fw_filename_prefix = desc->default_fw_path[SOF_IPC_TYPE_3];
|
||||||
sof_pdata->desc->default_fw_path[SOF_IPC];
|
|
||||||
|
|
||||||
if (tplg_path)
|
if (tplg_path)
|
||||||
sof_pdata->tplg_filename_prefix = tplg_path;
|
sof_pdata->tplg_filename_prefix = tplg_path;
|
||||||
else
|
else
|
||||||
sof_pdata->tplg_filename_prefix =
|
sof_pdata->tplg_filename_prefix = desc->default_tplg_path[SOF_IPC_TYPE_3];
|
||||||
sof_pdata->desc->default_tplg_path[SOF_IPC];
|
|
||||||
|
|
||||||
/* set callback to be called on successful device probe to enable runtime_pm */
|
/* set callback to be called on successful device probe to enable runtime_pm */
|
||||||
sof_pdata->sof_probe_complete = sof_acpi_probe_complete;
|
sof_pdata->sof_probe_complete = sof_acpi_probe_complete;
|
||||||
|
@ -267,7 +267,7 @@ static int sof_msg_inject_probe(struct auxiliary_device *auxdev,
|
|||||||
priv->max_msg_size = sof_client_get_ipc_max_payload_size(cdev);
|
priv->max_msg_size = sof_client_get_ipc_max_payload_size(cdev);
|
||||||
alloc_size = priv->max_msg_size;
|
alloc_size = priv->max_msg_size;
|
||||||
|
|
||||||
if (priv->ipc_type == SOF_INTEL_IPC4)
|
if (priv->ipc_type == SOF_IPC_TYPE_4)
|
||||||
alloc_size += sizeof(struct sof_ipc4_msg);
|
alloc_size += sizeof(struct sof_ipc4_msg);
|
||||||
|
|
||||||
priv->tx_buffer = devm_kmalloc(dev, alloc_size, GFP_KERNEL);
|
priv->tx_buffer = devm_kmalloc(dev, alloc_size, GFP_KERNEL);
|
||||||
@ -275,7 +275,7 @@ static int sof_msg_inject_probe(struct auxiliary_device *auxdev,
|
|||||||
if (!priv->tx_buffer || !priv->rx_buffer)
|
if (!priv->tx_buffer || !priv->rx_buffer)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (priv->ipc_type == SOF_INTEL_IPC4) {
|
if (priv->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_msg *ipc4_msg;
|
struct sof_ipc4_msg *ipc4_msg;
|
||||||
|
|
||||||
ipc4_msg = priv->tx_buffer;
|
ipc4_msg = priv->tx_buffer;
|
||||||
|
@ -423,13 +423,13 @@ static int sof_probes_client_probe(struct auxiliary_device *auxdev,
|
|||||||
priv->host_ops = ops;
|
priv->host_ops = ops;
|
||||||
|
|
||||||
switch (sof_client_get_ipc_type(cdev)) {
|
switch (sof_client_get_ipc_type(cdev)) {
|
||||||
#ifdef CONFIG_SND_SOC_SOF_INTEL_IPC4
|
#ifdef CONFIG_SND_SOC_SOF_IPC4
|
||||||
case SOF_INTEL_IPC4:
|
case SOF_IPC_TYPE_4:
|
||||||
priv->ipc_ops = &ipc4_probe_ops;
|
priv->ipc_ops = &ipc4_probe_ops;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_SND_SOC_SOF_IPC3
|
#ifdef CONFIG_SND_SOC_SOF_IPC3
|
||||||
case SOF_IPC:
|
case SOF_IPC_TYPE_3:
|
||||||
priv->ipc_ops = &ipc3_probe_ops;
|
priv->ipc_ops = &ipc3_probe_ops;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -75,7 +75,7 @@ static int sof_register_ipc_flood_test(struct snd_sof_dev *sdev)
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type != SOF_IPC)
|
if (sdev->pdata->ipc_type != SOF_IPC_TYPE_3)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0; i < CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM; i++) {
|
for (i = 0; i < CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM; i++) {
|
||||||
@ -131,7 +131,7 @@ static inline void sof_unregister_ipc_msg_injector(struct snd_sof_dev *sdev) {}
|
|||||||
static int sof_register_ipc_kernel_injector(struct snd_sof_dev *sdev)
|
static int sof_register_ipc_kernel_injector(struct snd_sof_dev *sdev)
|
||||||
{
|
{
|
||||||
/* Only IPC3 supported right now */
|
/* Only IPC3 supported right now */
|
||||||
if (sdev->pdata->ipc_type != SOF_IPC)
|
if (sdev->pdata->ipc_type != SOF_IPC_TYPE_3)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return sof_client_dev_register(sdev, "kernel_injector", 0, NULL, 0);
|
return sof_client_dev_register(sdev, "kernel_injector", 0, NULL, 0);
|
||||||
@ -287,12 +287,12 @@ EXPORT_SYMBOL_NS_GPL(sof_client_dev_unregister, SND_SOC_SOF_CLIENT);
|
|||||||
int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg,
|
int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg,
|
||||||
void *reply_data, size_t reply_bytes)
|
void *reply_data, size_t reply_bytes)
|
||||||
{
|
{
|
||||||
if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
|
if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
||||||
|
|
||||||
return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, hdr->size,
|
return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, hdr->size,
|
||||||
reply_data, reply_bytes);
|
reply_data, reply_bytes);
|
||||||
} else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
} else if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_msg *msg = ipc_msg;
|
struct sof_ipc4_msg *msg = ipc_msg;
|
||||||
|
|
||||||
return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, msg->data_size,
|
return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, msg->data_size,
|
||||||
@ -305,7 +305,7 @@ EXPORT_SYMBOL_NS_GPL(sof_client_ipc_tx_message, SND_SOC_SOF_CLIENT);
|
|||||||
|
|
||||||
int sof_client_ipc_rx_message(struct sof_client_dev *cdev, void *ipc_msg, void *msg_buf)
|
int sof_client_ipc_rx_message(struct sof_client_dev *cdev, void *ipc_msg, void *msg_buf)
|
||||||
{
|
{
|
||||||
if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
|
if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
||||||
|
|
||||||
if (hdr->size < sizeof(hdr)) {
|
if (hdr->size < sizeof(hdr)) {
|
||||||
@ -324,12 +324,12 @@ EXPORT_SYMBOL_NS_GPL(sof_client_ipc_rx_message, SND_SOC_SOF_CLIENT);
|
|||||||
int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
|
int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
|
||||||
bool set)
|
bool set)
|
||||||
{
|
{
|
||||||
if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
|
if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
struct sof_ipc_cmd_hdr *hdr = ipc_msg;
|
||||||
|
|
||||||
return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, hdr->size,
|
return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, hdr->size,
|
||||||
set);
|
set);
|
||||||
} else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
} else if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_msg *msg = ipc_msg;
|
struct sof_ipc4_msg *msg = ipc_msg;
|
||||||
|
|
||||||
return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg,
|
return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg,
|
||||||
@ -340,12 +340,12 @@ int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_NS_GPL(sof_client_ipc_set_get_data, SND_SOC_SOF_CLIENT);
|
EXPORT_SYMBOL_NS_GPL(sof_client_ipc_set_get_data, SND_SOC_SOF_CLIENT);
|
||||||
|
|
||||||
#ifdef CONFIG_SND_SOC_SOF_INTEL_IPC4
|
#ifdef CONFIG_SND_SOC_SOF_IPC4
|
||||||
struct sof_ipc4_fw_module *sof_client_ipc4_find_module(struct sof_client_dev *c, const guid_t *uuid)
|
struct sof_ipc4_fw_module *sof_client_ipc4_find_module(struct sof_client_dev *c, const guid_t *uuid)
|
||||||
{
|
{
|
||||||
struct snd_sof_dev *sdev = c->sdev;
|
struct snd_sof_dev *sdev = c->sdev;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_INTEL_IPC4)
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4)
|
||||||
return sof_ipc4_find_module_by_uuid(sdev, uuid);
|
return sof_ipc4_find_module_by_uuid(sdev, uuid);
|
||||||
dev_err(sdev->dev, "Only supported with IPC4\n");
|
dev_err(sdev->dev, "Only supported with IPC4\n");
|
||||||
|
|
||||||
@ -463,11 +463,11 @@ void sof_client_ipc_rx_dispatcher(struct snd_sof_dev *sdev, void *msg_buf)
|
|||||||
struct sof_ipc_event_entry *event;
|
struct sof_ipc_event_entry *event;
|
||||||
u32 msg_type;
|
u32 msg_type;
|
||||||
|
|
||||||
if (sdev->pdata->ipc_type == SOF_IPC) {
|
if (sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
struct sof_ipc_cmd_hdr *hdr = msg_buf;
|
struct sof_ipc_cmd_hdr *hdr = msg_buf;
|
||||||
|
|
||||||
msg_type = hdr->cmd & SOF_GLB_TYPE_MASK;
|
msg_type = hdr->cmd & SOF_GLB_TYPE_MASK;
|
||||||
} else if (sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
} else if (sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
struct sof_ipc4_msg *msg = msg_buf;
|
struct sof_ipc4_msg *msg = msg_buf;
|
||||||
|
|
||||||
msg_type = SOF_IPC4_NOTIFICATION_TYPE_GET(msg->primary);
|
msg_type = SOF_IPC4_NOTIFICATION_TYPE_GET(msg->primary);
|
||||||
@ -497,10 +497,10 @@ int sof_client_register_ipc_rx_handler(struct sof_client_dev *cdev,
|
|||||||
if (!callback)
|
if (!callback)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
|
if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_3) {
|
||||||
if (!(ipc_msg_type & SOF_GLB_TYPE_MASK))
|
if (!(ipc_msg_type & SOF_GLB_TYPE_MASK))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
} else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
|
} else if (cdev->sdev->pdata->ipc_type == SOF_IPC_TYPE_4) {
|
||||||
if (!(ipc_msg_type & SOF_IPC4_NOTIFICATION_TYPE_MASK))
|
if (!(ipc_msg_type & SOF_IPC4_NOTIFICATION_TYPE_MASK))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
} else {
|
} else {
|
||||||
|
@ -64,17 +64,17 @@ int sof_of_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
sof_pdata->desc = desc;
|
sof_pdata->desc = desc;
|
||||||
sof_pdata->dev = &pdev->dev;
|
sof_pdata->dev = &pdev->dev;
|
||||||
sof_pdata->fw_filename = desc->default_fw_filename[SOF_IPC];
|
sof_pdata->fw_filename = desc->default_fw_filename[SOF_IPC_TYPE_3];
|
||||||
|
|
||||||
if (fw_path)
|
if (fw_path)
|
||||||
sof_pdata->fw_filename_prefix = fw_path;
|
sof_pdata->fw_filename_prefix = fw_path;
|
||||||
else
|
else
|
||||||
sof_pdata->fw_filename_prefix = sof_pdata->desc->default_fw_path[SOF_IPC];
|
sof_pdata->fw_filename_prefix = desc->default_fw_path[SOF_IPC_TYPE_3];
|
||||||
|
|
||||||
if (tplg_path)
|
if (tplg_path)
|
||||||
sof_pdata->tplg_filename_prefix = tplg_path;
|
sof_pdata->tplg_filename_prefix = tplg_path;
|
||||||
else
|
else
|
||||||
sof_pdata->tplg_filename_prefix = sof_pdata->desc->default_tplg_path[SOF_IPC];
|
sof_pdata->tplg_filename_prefix = desc->default_tplg_path[SOF_IPC_TYPE_3];
|
||||||
|
|
||||||
/* set callback to be called on successful device probe to enable runtime_pm */
|
/* set callback to be called on successful device probe to enable runtime_pm */
|
||||||
sof_pdata->sof_probe_complete = sof_of_probe_complete;
|
sof_pdata->sof_probe_complete = sof_of_probe_complete;
|
||||||
|
@ -46,7 +46,7 @@ MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
|
|||||||
|
|
||||||
static int sof_pci_ipc_type = -1;
|
static int sof_pci_ipc_type = -1;
|
||||||
module_param_named(ipc_type, sof_pci_ipc_type, int, 0444);
|
module_param_named(ipc_type, sof_pci_ipc_type, int, 0444);
|
||||||
MODULE_PARM_DESC(ipc_type, "SOF IPC type (0): SOF, (1) Intel CAVS");
|
MODULE_PARM_DESC(ipc_type, "Force SOF IPC type. 0 - IPC3, 1 - IPC4");
|
||||||
|
|
||||||
static const char *sof_dmi_override_tplg_name;
|
static const char *sof_dmi_override_tplg_name;
|
||||||
static bool sof_dmi_use_community_key;
|
static bool sof_dmi_use_community_key;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user