[alsa-devel] [PATCH v2 2/2] ASoC: Intel: Skylake: Add Cometlake PCI IDs

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed May 8 00:31:06 CEST 2019


On 5/7/19 4:53 PM, Evan Green wrote:
> Add PCI IDs for Intel CometLake platforms, which from a software
> point of view are extremely similar to Cannonlake platforms.

Humm, I have mixed feelings here.

Yes the hardware is nearly identical, with the exception of one detail 
that's not visible to the kernel, but there is no support for DMICs with 
the Skylake driver w/ HDaudio, and Chrome platforms are only going with 
SOF, so is it wise to add these two CometLake platforms to the default 
SND_SOC_INTEL_SKYLAKE selector, which is used by a number of distributions?

I don't mind if we add those PCI IDs and people use this driver if they 
wish to, but it may be time for an explicit opt-in? The 
SND_SOC_INTEL_SKYLAKE definition should even be pruned to mean SKL, APL, 
KBL and GLK, and we can add DMI-based quirks for e.g. the Up2 board and 
GLK Chromebooks which work with SOF.

> 
> Signed-off-by: Evan Green <evgreen at chromium.org>
> ---
> 
> Changes in v2:
> - Add 0x06c8 for CML-H (Pierre-Louis)
> 
>   sound/soc/intel/Kconfig                | 18 ++++++++++++++++++
>   sound/soc/intel/skylake/skl-messages.c | 16 ++++++++++++++++
>   sound/soc/intel/skylake/skl.c          | 10 ++++++++++
>   3 files changed, 44 insertions(+)
> 
> diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
> index fc1396adde71..1ebac54b7081 100644
> --- a/sound/soc/intel/Kconfig
> +++ b/sound/soc/intel/Kconfig
> @@ -110,6 +110,8 @@ config SND_SOC_INTEL_SKYLAKE
>   	select SND_SOC_INTEL_GLK
>   	select SND_SOC_INTEL_CNL
>   	select SND_SOC_INTEL_CFL
> +	select SND_SOC_INTEL_CML_H
> +	select SND_SOC_INTEL_CML_LP
>   	help
>             This is a backwards-compatible option to select all devices
>   	  supported by the Intel SST/Skylake driver. This option is no
> @@ -165,6 +167,22 @@ config SND_SOC_INTEL_CFL
>   	  If you have a Intel CoffeeLake platform with the DSP
>   	  enabled in the BIOS then enable this option by saying Y or m.
>   
> +config SND_SOC_INTEL_CML_H
> +	tristate "CometLake-H Platforms"
> +	depends on PCI && ACPI
> +	select SND_SOC_INTEL_SKYLAKE_FAMILY
> +	help
> +	  If you have a Intel CometLake-H platform with the DSP
> +	  enabled in the BIOS then enable this option by saying Y or m.
> +
> +config SND_SOC_INTEL_CML_LP
> +	tristate "CometLake-LP Platforms"
> +	depends on PCI && ACPI
> +	select SND_SOC_INTEL_SKYLAKE_FAMILY
> +	help
> +	  If you have a Intel CometLake-LP platform with the DSP
> +	  enabled in the BIOS then enable this option by saying Y or m.
> +
>   config SND_SOC_INTEL_SKYLAKE_FAMILY
>   	tristate
>   	select SND_SOC_INTEL_SKYLAKE_COMMON
> diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c
> index 4bf70b4429f0..df01dc952521 100644
> --- a/sound/soc/intel/skylake/skl-messages.c
> +++ b/sound/soc/intel/skylake/skl-messages.c
> @@ -255,6 +255,22 @@ static const struct skl_dsp_ops dsp_ops[] = {
>   		.init_fw = cnl_sst_init_fw,
>   		.cleanup = cnl_sst_dsp_cleanup
>   	},
> +	{
> +		.id = 0x02c8,
> +		.num_cores = 4,
> +		.loader_ops = bxt_get_loader_ops,
> +		.init = cnl_sst_dsp_init,
> +		.init_fw = cnl_sst_init_fw,
> +		.cleanup = cnl_sst_dsp_cleanup
> +	},
> +	{
> +		.id = 0x06c8,
> +		.num_cores = 4,
> +		.loader_ops = bxt_get_loader_ops,
> +		.init = cnl_sst_dsp_init,
> +		.init_fw = cnl_sst_init_fw,
> +		.cleanup = cnl_sst_dsp_cleanup
> +	},
>   };
>   
>   const struct skl_dsp_ops *skl_get_dsp_ops(int pci_id)
> diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
> index 4ed5b7e17d44..f864f7b3df3a 100644
> --- a/sound/soc/intel/skylake/skl.c
> +++ b/sound/soc/intel/skylake/skl.c
> @@ -1166,6 +1166,16 @@ static const struct pci_device_id skl_ids[] = {
>   	/* CFL */
>   	{ PCI_DEVICE(0x8086, 0xa348),
>   		.driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines},
> +#endif
> +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP)
> +	/* CML-LP */
> +	{ PCI_DEVICE(0x8086, 0x02c8),
> +		.driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines},
> +#endif
> +#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H)
> +	/* CML-H */
> +	{ PCI_DEVICE(0x8086, 0x06c8),
> +		.driver_data = (unsigned long)&snd_soc_acpi_intel_cnl_machines},
>   #endif
>   	{ 0, }
>   };
> 



More information about the Alsa-devel mailing list