[PATCH 12/19] ASoC: SOF: Intel: Set the default firmware library path for IPC4

Amadeusz Sławiński amadeuszx.slawinski at linux.intel.com
Tue Oct 18 14:38:46 CEST 2022


On 10/18/2022 2:09 PM, Peter Ujfalusi wrote:
> The default path for the external firmware libraries are:
> intel/avs-lib/<platform>
> or
> intel/sof-ipc4-lib/<platform>
> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi at linux.intel.com>
> Reviewed-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> Reviewed-by: Chao Song <chao.song at intel.com>
> Reviewed-by: Kai Vehmanen <kai.vehmanen at linux.intel.com>
> ---
>   sound/soc/sof/intel/pci-apl.c |  6 ++++++
>   sound/soc/sof/intel/pci-cnl.c |  9 +++++++++
>   sound/soc/sof/intel/pci-icl.c |  6 ++++++
>   sound/soc/sof/intel/pci-mtl.c |  3 +++
>   sound/soc/sof/intel/pci-tgl.c | 21 +++++++++++++++++++++
>   5 files changed, 45 insertions(+)
> 
> diff --git a/sound/soc/sof/intel/pci-apl.c b/sound/soc/sof/intel/pci-apl.c
> index 998e219011f0..69279dcc92dc 100644
> --- a/sound/soc/sof/intel/pci-apl.c
> +++ b/sound/soc/sof/intel/pci-apl.c
> @@ -33,6 +33,9 @@ static const struct sof_dev_desc bxt_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/apl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/apl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -61,6 +64,9 @@ static const struct sof_dev_desc glk_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/glk",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/glk",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> diff --git a/sound/soc/sof/intel/pci-cnl.c b/sound/soc/sof/intel/pci-cnl.c
> index c797356f7028..8db3f8d15b55 100644
> --- a/sound/soc/sof/intel/pci-cnl.c
> +++ b/sound/soc/sof/intel/pci-cnl.c
> @@ -34,6 +34,9 @@ static const struct sof_dev_desc cnl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/cnl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -62,6 +65,9 @@ static const struct sof_dev_desc cfl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/cnl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -91,6 +97,9 @@ static const struct sof_dev_desc cml_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/cnl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/cnl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> diff --git a/sound/soc/sof/intel/pci-icl.c b/sound/soc/sof/intel/pci-icl.c
> index 48f24f8ace26..d6cf75e357db 100644
> --- a/sound/soc/sof/intel/pci-icl.c
> +++ b/sound/soc/sof/intel/pci-icl.c
> @@ -34,6 +34,9 @@ static const struct sof_dev_desc icl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/icl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/icl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -62,6 +65,9 @@ static const struct sof_dev_desc jsl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/jsl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/jsl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> diff --git a/sound/soc/sof/intel/pci-mtl.c b/sound/soc/sof/intel/pci-mtl.c
> index 899b00d53d64..84445daf33af 100644
> --- a/sound/soc/sof/intel/pci-mtl.c
> +++ b/sound/soc/sof/intel/pci-mtl.c
> @@ -34,6 +34,9 @@ static const struct sof_dev_desc mtl_desc = {
>   	.default_fw_path = {
>   		[SOF_INTEL_IPC4] = "intel/sof-ipc4/mtl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/sof-ipc4-lib/mtl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_INTEL_IPC4] = "intel/sof-ace-tplg",
>   	},
> diff --git a/sound/soc/sof/intel/pci-tgl.c b/sound/soc/sof/intel/pci-tgl.c
> index 2d63cc236a68..f9cbf3ad85b3 100644
> --- a/sound/soc/sof/intel/pci-tgl.c
> +++ b/sound/soc/sof/intel/pci-tgl.c
> @@ -34,6 +34,9 @@ static const struct sof_dev_desc tgl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/tgl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/tgl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -62,6 +65,9 @@ static const struct sof_dev_desc tglh_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/tgl-h",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/tgl-h",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -90,6 +96,9 @@ static const struct sof_dev_desc ehl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/ehl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/ehl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -118,6 +127,9 @@ static const struct sof_dev_desc adls_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/adl-s",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/adl-s",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -146,6 +158,9 @@ static const struct sof_dev_desc adl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/adl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/adl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -174,6 +189,9 @@ static const struct sof_dev_desc rpls_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/rpl-s",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/rpl-s",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",
> @@ -202,6 +220,9 @@ static const struct sof_dev_desc rpl_desc = {
>   		[SOF_IPC] = "intel/sof",
>   		[SOF_INTEL_IPC4] = "intel/avs/rpl",
>   	},
> +	.default_lib_path = {
> +		[SOF_INTEL_IPC4] = "intel/avs-lib/rpl",
> +	},
>   	.default_tplg_path = {
>   		[SOF_IPC] = "intel/sof-tplg",
>   		[SOF_INTEL_IPC4] = "intel/avs-tplg",


I'm not sure that I understand the rationale here, can't libraries be 
kept in the same directory as FW, as far as I know they are version 
locked to FW anyway. In avs driver when we decided on intel/avs/platform 
path we planned to keep FW related libaries there...

Also adding Czarek to CC.


More information about the Alsa-devel mailing list