* SoF support for 8086:9d71?
@ 2020-12-14 16:51 Kai-Heng Feng
2020-12-14 19:33 ` [Sound-open-firmware] " Pierre-Louis Bossart
0 siblings, 1 reply; 11+ messages in thread
From: Kai-Heng Feng @ 2020-12-14 16:51 UTC (permalink / raw)
To: sound-open-firmware; +Cc: SOUND
Hi,
On more recent kernels legacy HDA stops working for device 8086:9d71:
[ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
class/subclass/prog-if info 0x040100
[ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
Skylake+ platform, using SST driver
However, only legacy HDA supports it:
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise
Point-LP HD Audio [8086:9d71] (rev 21)
..
Kernel modules: snd_hda_intel
Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
snd-soc-skl, because based on the Kconfig description SOF should
support it.
I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
BugLink: <https://bugs.launchpad.net/bugs/1902457>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-14 16:51 SoF support for 8086:9d71? Kai-Heng Feng
@ 2020-12-14 19:33 ` Pierre-Louis Bossart
2020-12-15 3:54 ` Kai-Heng Feng
0 siblings, 1 reply; 11+ messages in thread
From: Pierre-Louis Bossart @ 2020-12-14 19:33 UTC (permalink / raw)
To: Kai-Heng Feng, sound-open-firmware; +Cc: SOUND
> On more recent kernels legacy HDA stops working for device 8086:9d71:
> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
> class/subclass/prog-if info 0x040100
> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
> Skylake+ platform, using SST driver
>
> However, only legacy HDA supports it:
> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise
> Point-LP HD Audio [8086:9d71] (rev 21)
> ..
> Kernel modules: snd_hda_intel
>
> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
> snd-soc-skl, because based on the Kconfig description SOF should support
> it.
>
> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
SOF does not support Skylake and Kabylake, and only the Up2 board for
APL. I am not sure what you mean by 'recent' kernels since this dynamic
selection has been in place for a year now?
At any rate, to make this work again:
1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
accurate:
SND_SOC_INTEL_SKL
SND_SOC_INTEL_APL
SND_SOC_INTEL_KBL
There are known issues with Conexant codecs, typically on HP devices,
only Realtek codecs are supported.
2. In addition you will need to have the topology for SKL/KBL w/ HDaudio
codecs. It's in alsa-topology-conf but would need to be compiled and
installed.
3. UCM files should be already handled in alsa-ucm-conf
Hope this helps
-Pierre
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-14 19:33 ` [Sound-open-firmware] " Pierre-Louis Bossart
@ 2020-12-15 3:54 ` Kai-Heng Feng
2020-12-15 17:21 ` Pierre-Louis Bossart
0 siblings, 1 reply; 11+ messages in thread
From: Kai-Heng Feng @ 2020-12-15 3:54 UTC (permalink / raw)
To: Pierre-Louis Bossart; +Cc: SOUND, sound-open-firmware
On Mon, Dec 14, 2020 at 13:33, Pierre-Louis Bossart
<pierre-louis.bossart@linux.intel.com> wrote:
>
>> On more recent kernels legacy HDA stops working for device 8086:9d71:
>> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
>> \x7fclass/subclass/prog-if info 0x040100
>> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
>> \x7fSkylake+ platform, using SST driver
>>
>> However, only legacy HDA supports it:
>> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation
>> Sunrise \x7fPoint-LP HD Audio [8086:9d71] (rev 21)
>> ..
>> Kernel modules: snd_hda_intel
>>
>> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
>> \x7fsnd-soc-skl, because based on the Kconfig description SOF should
>> support \x7fit.
>>
>> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
>
> SOF does not support Skylake and Kabylake, and only the Up2 board for
> APL. I am not sure what you mean by 'recent' kernels since this
> dynamic selection has been in place for a year now?
Ubuntu kernel only changed this in 20.10 release.
>
> At any rate, to make this work again:
>
> 1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
> accurate:
>
> SND_SOC_INTEL_SKL
> SND_SOC_INTEL_APL
> SND_SOC_INTEL_KBL
>
> There are known issues with Conexant codecs, typically on HP devices,
> only Realtek codecs are supported.
Right, so we can't really enable this for generic distros like Ubuntu.
Let me think of a more generic solution.
Kai-Heng
>
> 2. In addition you will need to have the topology for SKL/KBL w/
> HDaudio codecs. It's in alsa-topology-conf but would need to be
> compiled and installed.
>
> 3. UCM files should be already handled in alsa-ucm-conf
>
> Hope this helps
> -Pierre
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-15 3:54 ` Kai-Heng Feng
@ 2020-12-15 17:21 ` Pierre-Louis Bossart
2020-12-15 17:48 ` Amadeusz Sławiński
0 siblings, 1 reply; 11+ messages in thread
From: Pierre-Louis Bossart @ 2020-12-15 17:21 UTC (permalink / raw)
To: Kai-Heng Feng; +Cc: SOUND, sound-open-firmware
On 12/14/20 9:54 PM, Kai-Heng Feng wrote:
>
>
> On Mon, Dec 14, 2020 at 13:33, Pierre-Louis Bossart
> <pierre-louis.bossart@linux.intel.com> wrote:
>>
>>> On more recent kernels legacy HDA stops working for device 8086:9d71:
>>> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
>>> \x7fclass/subclass/prog-if info 0x040100
>>> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
>>> \x7fSkylake+ platform, using SST driver
>>>
>>> However, only legacy HDA supports it:
>>> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation
>>> Sunrise \x7fPoint-LP HD Audio [8086:9d71] (rev 21)
>>> ..
>>> Kernel modules: snd_hda_intel
>>>
>>> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
>>> \x7fsnd-soc-skl, because based on the Kconfig description SOF should
>>> support \x7fit.
>>>
>>> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
>>
>> SOF does not support Skylake and Kabylake, and only the Up2 board for
>> APL. I am not sure what you mean by 'recent' kernels since this
>> dynamic selection has been in place for a year now?
>
> Ubuntu kernel only changed this in 20.10 release.
>
>>
>> At any rate, to make this work again:
>>
>> 1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
>> accurate:
>>
>> SND_SOC_INTEL_SKL
>> SND_SOC_INTEL_APL
>> SND_SOC_INTEL_KBL
>>
>> There are known issues with Conexant codecs, typically on HP devices,
>> only Realtek codecs are supported.
>
> Right, so we can't really enable this for generic distros like Ubuntu.
>
> Let me think of a more generic solution.
Re-thinking about this, I actually don't know how this problem occurred:
the tables are conditionally built so you would only select SST if you
had the drivers compiled in.
see sound/hda/intel-dsp-config.c:
/* Kabylake-LP */
#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
{
.flags = FLAG_SST,
.device = 0x9d71,
.dmi_table = (const struct dmi_system_id []) {
{
.ident = "Google Chromebooks",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Google"),
}
},
{}
}
},
{
.flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
.device = 0x9d71,
},
#endif
Something's not adding up here.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-15 17:21 ` Pierre-Louis Bossart
@ 2020-12-15 17:48 ` Amadeusz Sławiński
2020-12-15 17:53 ` Kai-Heng Feng
0 siblings, 1 reply; 11+ messages in thread
From: Amadeusz Sławiński @ 2020-12-15 17:48 UTC (permalink / raw)
To: Pierre-Louis Bossart, Kai-Heng Feng; +Cc: SOUND, sound-open-firmware
On 12/15/2020 6:21 PM, Pierre-Louis Bossart wrote:
>
>
> On 12/14/20 9:54 PM, Kai-Heng Feng wrote:
>>
>>
>> On Mon, Dec 14, 2020 at 13:33, Pierre-Louis Bossart
>> <pierre-louis.bossart@linux.intel.com> wrote:
>>>
>>>> On more recent kernels legacy HDA stops working for device 8086:9d71:
>>>> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
>>>> \x7fclass/subclass/prog-if info 0x040100
>>>> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
>>>> \x7fSkylake+ platform, using SST driver
>>>>
>>>> However, only legacy HDA supports it:
>>>> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation
>>>> Sunrise \x7fPoint-LP HD Audio [8086:9d71] (rev 21)
>>>> ..
>>>> Kernel modules: snd_hda_intel
>>>>
>>>> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
>>>> \x7fsnd-soc-skl, because based on the Kconfig description SOF should
>>>> support \x7fit.
>>>>
>>>> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
>>>
>>> SOF does not support Skylake and Kabylake, and only the Up2 board for
>>> APL. I am not sure what you mean by 'recent' kernels since this
>>> dynamic selection has been in place for a year now?
>>
>> Ubuntu kernel only changed this in 20.10 release.
>>
>>>
>>> At any rate, to make this work again:
>>>
>>> 1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
>>> accurate:
>>>
>>> SND_SOC_INTEL_SKL
>>> SND_SOC_INTEL_APL
>>> SND_SOC_INTEL_KBL
>>>
>>> There are known issues with Conexant codecs, typically on HP devices,
>>> only Realtek codecs are supported.
>>
>> Right, so we can't really enable this for generic distros like Ubuntu.
>>
>> Let me think of a more generic solution.
>
> Re-thinking about this, I actually don't know how this problem occurred:
> the tables are conditionally built so you would only select SST if you
> had the drivers compiled in.
>
> see sound/hda/intel-dsp-config.c:
>
> /* Kabylake-LP */
> #if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
> {
> .flags = FLAG_SST,
> .device = 0x9d71,
> .dmi_table = (const struct dmi_system_id []) {
> {
> .ident = "Google Chromebooks",
> .matches = {
> DMI_MATCH(DMI_SYS_VENDOR, "Google"),
> }
> },
> {}
> }
> },
> {
> .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
> .device = 0x9d71,
> },
> #endif
>
> 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 :/
Will look at it tomorrow. In the meantime any chance we can get the
config which was used, to confirm my suspicion?
Thanks,
Amadeusz
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-15 17:48 ` Amadeusz Sławiński
@ 2020-12-15 17:53 ` Kai-Heng Feng
2020-12-15 17:59 ` Pierre-Louis Bossart
0 siblings, 1 reply; 11+ messages in thread
From: Kai-Heng Feng @ 2020-12-15 17:53 UTC (permalink / raw)
To: Amadeusz Sławiński
Cc: SOUND, Pierre-Louis Bossart, sound-open-firmware
On Wed, Dec 16, 2020 at 1:48 AM Amadeusz Sławiński
<amadeuszx.slawinski@linux.intel.com> wrote:
>
> On 12/15/2020 6:21 PM, Pierre-Louis Bossart wrote:
> >
> >
> > On 12/14/20 9:54 PM, Kai-Heng Feng wrote:
> >>
> >>
> >> On Mon, Dec 14, 2020 at 13:33, Pierre-Louis Bossart
> >> <pierre-louis.bossart@linux.intel.com> wrote:
> >>>
> >>>> On more recent kernels legacy HDA stops working for device 8086:9d71:
> >>>> [ 47.211381] snd_hda_intel 0000:00:1f.3: DSP detected with PCI
> >>>> class/subclass/prog-if info 0x040100
> >>>> [ 47.211383] snd_hda_intel 0000:00:1f.3: Digital mics found on
> >>>> Skylake+ platform, using SST driver
> >>>>
> >>>> However, only legacy HDA supports it:
> >>>> 00:1f.3 Multimedia audio controller [0401]: Intel Corporation
> >>>> Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
> >>>> ..
> >>>> Kernel modules: snd_hda_intel
> >>>>
> >>>> Ubuntu kernel doesn't select SND_SOC_INTEL_SKYLAKE, which builds
> >>>> snd-soc-skl, because based on the Kconfig description SOF should
> >>>> support it.
> >>>>
> >>>> I wonder if SND_SOC_INTEL_SKYLAKE should be select again?
> >>>
> >>> SOF does not support Skylake and Kabylake, and only the Up2 board for
> >>> APL. I am not sure what you mean by 'recent' kernels since this
> >>> dynamic selection has been in place for a year now?
> >>
> >> Ubuntu kernel only changed this in 20.10 release.
> >>
> >>>
> >>> At any rate, to make this work again:
> >>>
> >>> 1. You can select SND_SOC_INTEL_SKYLAKE or alternatively to be more
> >>> accurate:
> >>>
> >>> SND_SOC_INTEL_SKL
> >>> SND_SOC_INTEL_APL
> >>> SND_SOC_INTEL_KBL
> >>>
> >>> There are known issues with Conexant codecs, typically on HP devices,
> >>> only Realtek codecs are supported.
> >>
> >> Right, so we can't really enable this for generic distros like Ubuntu.
> >>
> >> Let me think of a more generic solution.
> >
> > Re-thinking about this, I actually don't know how this problem occurred:
> > the tables are conditionally built so you would only select SST if you
> > had the drivers compiled in.
> >
> > see sound/hda/intel-dsp-config.c:
> >
> > /* Kabylake-LP */
> > #if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
> > {
> > .flags = FLAG_SST,
> > .device = 0x9d71,
> > .dmi_table = (const struct dmi_system_id []) {
> > {
> > .ident = "Google Chromebooks",
> > .matches = {
> > DMI_MATCH(DMI_SYS_VENDOR, "Google"),
> > }
> > },
> > {}
> > }
> > },
> > {
> > .flags = FLAG_SST | FLAG_SST_ONLY_IF_DMIC,
> > .device = 0x9d71,
> > },
> > #endif
> >
> > 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 :/
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
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
>
> Thanks,
> Amadeusz
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-15 17:53 ` Kai-Heng Feng
@ 2020-12-15 17:59 ` Pierre-Louis Bossart
2020-12-16 3:55 ` Kai-Heng Feng
0 siblings, 1 reply; 11+ messages in thread
From: Pierre-Louis Bossart @ 2020-12-15 17:59 UTC (permalink / raw)
To: Kai-Heng Feng, Amadeusz Sławiński; +Cc: SOUND, sound-open-firmware
>>> 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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-15 17:59 ` Pierre-Louis Bossart
@ 2020-12-16 3:55 ` Kai-Heng Feng
2020-12-17 8:25 ` Kai-Heng Feng
0 siblings, 1 reply; 11+ messages in thread
From: Kai-Heng Feng @ 2020-12-16 3:55 UTC (permalink / raw)
To: Pierre-Louis Bossart
Cc: SOUND, sound-open-firmware, Amadeusz Sławiński
On Wed, Dec 16, 2020 at 1:59 AM Pierre-Louis Bossart
<pierre-louis.bossart@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...
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
>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-16 3:55 ` Kai-Heng Feng
@ 2020-12-17 8:25 ` Kai-Heng Feng
2021-01-12 13:25 ` Amadeusz Sławiński
0 siblings, 1 reply; 11+ messages in thread
From: Kai-Heng Feng @ 2020-12-17 8:25 UTC (permalink / raw)
To: Pierre-Louis Bossart
Cc: SOUND, sound-open-firmware, Amadeusz Sławiński
On Wed, Dec 16, 2020 at 11:55 AM Kai-Heng Feng
<kai.heng.feng@canonical.com> wrote:
>
> On Wed, Dec 16, 2020 at 1:59 AM Pierre-Louis Bossart
> <pierre-louis.bossart@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
> >
> >
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
2020-12-17 8:25 ` Kai-Heng Feng
@ 2021-01-12 13:25 ` Amadeusz Sławiński
[not found] ` <CAAd53p7OHhqXDJDuEamXwfseXiUdGfDsJhNJbdUYo_4uoBdzdQ@mail.gmail.com>
0 siblings, 1 reply; 11+ messages in thread
From: Amadeusz Sławiński @ 2021-01-12 13:25 UTC (permalink / raw)
To: Kai-Heng Feng, Pierre-Louis Bossart; +Cc: SOUND, sound-open-firmware
On 12/17/2020 9:25 AM, Kai-Heng Feng wrote:
(...)
>>>
>>> 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
>>>
>>>
Hi,
what is the status of this issue?
Does it now work with usptream kernel?
Can you provide full .config, so we can test on our side?
Amadeusz
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Sound-open-firmware] SoF support for 8086:9d71?
[not found] ` <CAAd53p7OHhqXDJDuEamXwfseXiUdGfDsJhNJbdUYo_4uoBdzdQ@mail.gmail.com>
@ 2021-01-13 13:44 ` Amadeusz Sławiński
0 siblings, 0 replies; 11+ messages in thread
From: Amadeusz Sławiński @ 2021-01-13 13:44 UTC (permalink / raw)
To: Kai-Heng Feng
Cc: SOUND, Pierre-Louis Bossart,
moderated list:SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS
On 1/13/2021 5:48 AM, Kai-Heng Feng wrote:
> On Tue, Jan 12, 2021 at 9:25 PM Amadeusz Sławiński
> <amadeuszx.slawinski@linux.intel.com> wrote:
>>
>> On 12/17/2020 9:25 AM, Kai-Heng Feng wrote:
>> (...)
>>>>>
>>>>> 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
>>>>>
>>>>>
>>
>> Hi,
>>
>> what is the status of this issue?
>
> Still the same, unresolved.
>
>> Does it now work with usptream kernel?
>
> No it doesn't.
>
Can you try with following patch:
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
diff --git a/sound/soc/intel/skylake/Makefile
b/sound/soc/intel/skylake/Makefile
index dd39149b89b1..1c4649bccec5 100644
--- a/sound/soc/intel/skylake/Makefile
+++ b/sound/soc/intel/skylake/Makefile
@@ -7,7 +7,7 @@ ifdef CONFIG_DEBUG_FS
snd-soc-skl-objs += skl-debug.o
endif
-obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE) += snd-soc-skl.o
+obj-$(CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON) += snd-soc-skl.o
#Skylake Clock device support
snd-soc-skl-ssp-clk-objs := skl-ssp-clk.o
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-01-13 13:46 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14 16:51 SoF support for 8086:9d71? Kai-Heng Feng
2020-12-14 19:33 ` [Sound-open-firmware] " Pierre-Louis Bossart
2020-12-15 3:54 ` Kai-Heng Feng
2020-12-15 17:21 ` Pierre-Louis Bossart
2020-12-15 17:48 ` Amadeusz Sławiński
2020-12-15 17:53 ` Kai-Heng Feng
2020-12-15 17:59 ` Pierre-Louis Bossart
2020-12-16 3:55 ` Kai-Heng Feng
2020-12-17 8:25 ` Kai-Heng Feng
2021-01-12 13:25 ` Amadeusz Sławiński
[not found] ` <CAAd53p7OHhqXDJDuEamXwfseXiUdGfDsJhNJbdUYo_4uoBdzdQ@mail.gmail.com>
2021-01-13 13:44 ` Amadeusz Sławiński
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).