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

Kai-Heng Feng kai.heng.feng at canonical.com
Thu Dec 17 09:25:52 CET 2020


On Wed, Dec 16, 2020 at 11:55 AM Kai-Heng Feng
<kai.heng.feng at canonical.com> wrote:
>
> On Wed, Dec 16, 2020 at 1:59 AM Pierre-Louis Bossart
> <pierre-louis.bossart at linux.intel.com> wrote:
> >
> >
> >
> > >>> 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).
>
> So should I enable this option? Is it safe for platforms with Connexant codec?
>
> >
> > > 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:
>
> Ok, compiling a kernel for user to test...

Well, this happens:
ERROR: modpost: "skl_dsp_set_dma_control"
[sound/soc/intel/skylake/snd-soc-skl-ssp-clk.ko] undefined!
make[1]: *** [scripts/Makefile.modpost:111: sound/Module.symvers] Error 1
make[1]: *** Deleting file 'sound/Module.symvers'
make: *** [Makefile:1709: modules] Error 2

Kai-Heng

>
> Kai-Heng
>
> >
> > 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 Sound-open-firmware mailing list