[alsa-devel] [PATCH] ASoC: SOF: Intel: add PCI ID for CometLake-S
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Wed Dec 18 16:21:22 CET 2019
>>> I guess the change in ifdef for cml_desc definition is still missing.
>>
>> Not sure what change you are referring to?
>
> Take a look at the definition of cml_desc. It's wrapped with
>
> #if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) || \
> IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
>
> but this wasn't updated for the new COMETLAKE_S.
Ah yes, that's a problem. will fix.
>>> Also, can we reduce even the ifdef around sof_dev_desc definitions by
>>> __maybe_unused atttribute?
>>
>> Sorry, I am not following your suggestion. I would really like to keep
>> the ifdefs for now, and while it can be seen as overkill to have
>> descriptors that are identical in some cases the past experience shows
>> it's useful when we have to add quirks for specific 'hardware
>> recommended programming sequences'.
>
> What I suggested was simple, just dropping ifdef by something like
>
> diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
> index bbeffd932de7..297632a54f1b 100644
> --- a/sound/soc/sof/sof-pci-dev.c
> +++ b/sound/soc/sof/sof-pci-dev.c
> @@ -36,8 +36,7 @@ MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
>
> #define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
>
> -#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
> -static const struct sof_dev_desc bxt_desc = {
> +static const struct sof_dev_desc __maybe_unused bxt_desc = {
> .machines = snd_soc_acpi_intel_bxt_machines,
> .resindex_lpe_base = 0,
> .resindex_pcicfg_base = -1,
> @@ -52,10 +51,8 @@ static const struct sof_dev_desc bxt_desc = {
> .ops = &sof_apl_ops,
> .arch_ops = &sof_xtensa_arch_ops
> };
> -#endif
>
> -#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
> -static const struct sof_dev_desc glk_desc = {
> +static const struct sof_dev_desc __maybe_unused glk_desc = {
> .machines = snd_soc_acpi_intel_glk_machines,
> .resindex_lpe_base = 0,
> .resindex_pcicfg_base = -1,
> @@ -70,10 +67,8 @@ static const struct sof_dev_desc glk_desc = {
> .ops = &sof_apl_ops,
> .arch_ops = &sof_xtensa_arch_ops
> };
> -#endif
> .....
>
>
> Then the issue I pointed above can be solved as well.
The ifdefs are still needed in the PCI IDs tables
static const struct pci_device_id sof_pci_ids[] = {
#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD)
{ PCI_DEVICE(0x8086, 0x119a),
.driver_data = (unsigned long)&tng_desc},
#endif
#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
/* BXT-P & Apollolake */
{ PCI_DEVICE(0x8086, 0x5a98),
.driver_data = (unsigned long)&bxt_desc},
{ PCI_DEVICE(0x8086, 0x1a98),
.driver_data = (unsigned long)&bxt_desc},
#endif
#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
{ PCI_DEVICE(0x8086, 0x3198),
.driver_data = (unsigned long)&glk_desc},
#endif
so for consistency I personally prefer the matching ifdef for the
descriptors.
More information about the Alsa-devel
mailing list