[Sound-open-firmware] SoF support for 8086:9d71?

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Dec 15 18:59:14 CET 2020



>>> Something's not adding up here.
>>
>> Seems like you can enable CONFIG_SND_SOC_INTEL_KBL (and all other
>> platforms), without enabling CONFIG_SND_SOC_INTEL_SKYLAKE, which enables
>> building of snd_soc_skl module... I would say that there is something
>> wrong with module dependencies in Kconfig :/

rather the Makefile is wrong, see below.

> 
> Yes that's exactly what happened here.
> So I wonder why we need to separate CONFIG_SND_SOC_INTEL_SKYLAKE from
> other configs...
> 
>> Will look at it tomorrow. In the meantime any chance we can get the
>> config which was used, to confirm my suspicion?
> 
> Ubuntu 5.8 kernel has this:
> # CONFIG_SND_SOC_INTEL_SKYLAKE is not set
> CONFIG_SND_SOC_INTEL_SKL=m
> CONFIG_SND_SOC_INTEL_APL=m
> CONFIG_SND_SOC_INTEL_KBL=m
> CONFIG_SND_SOC_INTEL_GLK=m
> # CONFIG_SND_SOC_INTEL_CNL is not set
> # CONFIG_SND_SOC_INTEL_CFL is not set
> # CONFIG_SND_SOC_INTEL_CML_H is not set
> # CONFIG_SND_SOC_INTEL_CML_LP is not set
> CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m
> CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
> # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set

that would be needed to support DMIC+HDaudio platforms (with the 
Connexant restriction).

> CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
> 
> So I guess we can do something like this?
> diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
> index 1c5114dedda9..c8142520532e 100644
> --- a/sound/hda/intel-dsp-config.c
> +++ b/sound/hda/intel-dsp-config.c
> @@ -417,7 +417,7 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci)
>                          return SND_INTEL_DSP_DRIVER_SOF;
>          }
> 
> -
> +#if IS_REACHABLE(CONFIG_SND_SOC_INTEL_SKYLAKE)
>          if (cfg->flags & FLAG_SST) {
>                  if (cfg->flags & FLAG_SST_ONLY_IF_DMIC) {
>                          if (snd_intel_dsp_check_dmic(pci)) {
> @@ -428,6 +428,7 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci)
>                          return SND_INTEL_DSP_DRIVER_SST;
>                  }
>          }
> +#endif
> 
>          return SND_INTEL_DSP_DRIVER_LEGACY;
>   }
> 
> Kai-Heng

Can you try this instead, the dependencies are indeed wrong in the Makefile:

diff --git a/sound/soc/intel/Makefile b/sound/soc/intel/Makefile
index 4e0248d2accc..7c5038803be7 100644
--- a/sound/soc/intel/Makefile
+++ b/sound/soc/intel/Makefile
@@ -5,7 +5,7 @@ obj-$(CONFIG_SND_SOC) += common/
  # Platform Support
  obj-$(CONFIG_SND_SST_ATOM_HIFI2_PLATFORM) += atom/
  obj-$(CONFIG_SND_SOC_INTEL_CATPT) += catpt/
-obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += skylake/
+obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON) += skylake/
  obj-$(CONFIG_SND_SOC_INTEL_KEEMBAY) += keembay/

  # Machine support




More information about the Alsa-devel mailing list