APPLIED: ACK/cmt: [SRU][EOAN/unstable][PATCH 0/1] alsa/sof: Enable SOF_HDA link and codec

Seth Forshee seth.forshee at canonical.com
Wed Oct 23 12:15:33 UTC 2019


On Wed, Oct 23, 2019 at 01:47:22PM +0200, Kleber Souza wrote:
> On 10/23/19 1:40 PM, Kleber Souza wrote:
> > On 10/22/19 3:28 AM, Hui Wang wrote:
> >>
> >> On 2019/10/22 上午9:13, Hui Wang wrote:
> >>>
> >>> On 2019/10/22 上午5:06, Seth Forshee wrote:
> >>>> On Thu, Oct 17, 2019 at 08:28:49PM +0800, Hui Wang wrote:
> >>>>> BugLink: https://bugs.launchpad.net/bugs/1848490
> >>>>>
> >>>>> So far, only OEM-B-OSP1, EOAN and later kernels have the alsa/sof 
> >>>>> driver,
> >>>>> and the OEM-B-OSP1 kernel already enabled these CONFIGs.
> >>>>>
> >>>>> [Impact]
> >>>>> We tested the EOAN kernel on the LENOVO or Dell machines which have
> >>>>> dmic directly connnected to PCH, the dmic didn't work.
> >>>>>
> >>>>> [Fix]
> >>>>> We need to enable SOF_HDA link and codec, then the sof driver
> >>>>> and Legacy HDA driver work together to make the dmic work.
> >>>>>
> >>>>> [Test Case]
> >>>>> Install the latest 19.10 image, build a new kernel with this
> >>>>> patch and replace the existing kernel, After installing the blacklist
> >>>>> package (blacklist snd_hda_intel and snd_soc_skl) and ucm package,
> >>>>> the dmic and all output devices (speaker/hdmi) work.
> >>>>>
> >>>>> [Regression Risk]
> >>>>> Low, these configs are already enabled in the oem-b-osp1 kernel
> >>>>> for a long time, and we tested it on many lenovo/dell machines witch
> >>>>> have or have no dmic, all worked well.
> >>>> I got an email separately regarding these config problems, this is a
> >>>> needed change.
> >>>>
> >>>> Acked-by: Seth Forshee <seth.forshee at canonical.com>
> >>>>
> >>>> The recommended configs we received from Intel's had additional changes,
> >>>> see the full diff below. It seems that with the SOF driver makes some
> >>>> options are now considered deprecated. I'll probably apply this change
> >>>> to unstable. Perhaps for eoan it's better to stick with the more
> >>>> conservative changes you sent -- what do you think?
> >>>
> >>> Agree with you, let us put Intel's config to unstable only.
> >>>
> >>> I don't know if sof driver can 100% replace the soc/intel/skl driver,  
> >>> it is better to keep those configs related to SND_SOC_INTEL_SKYLAKE in 
> >>> the EOAN first. If we meet the bugs or Intel confirms we could disable 
> >>> the SOC_INTEL_SKYLAKE formally, then we disable them.
> >>>
> >> For the EOAN kernel, besides the patch I sent, please also apply part of 
> >> Intel's change, because Intel told us that "In addition you may want to 
> >> only enable the Skylake driver for Skylake/KBL/APL/GLK, and not use it 
> >> for CML or with the HDaudio codec support ", I think that description is 
> >> correct, since the sof driver could 100% replace the skl driver for 
> >> CFL/CML and with HDaudio codec support:
> >>
> >> -CONFIG_SND_SOC_INTEL_CFL=m
> >> +# CONFIG_SND_SOC_INTEL_CFL is not set
> >>   CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
> >>   CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m
> >>   CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
> >>   CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
> >> -CONFIG_SND_SOC_INTEL_CML_H=m
> >> -CONFIG_SND_SOC_INTEL_CML_LP=m
> >> -CONFIG_SND_SOC_INTEL_CNL=m
> >> +# CONFIG_SND_SOC_INTEL_CML_H is not set
> >> +# CONFIG_SND_SOC_INTEL_CML_LP is not set
> >> +# CONFIG_SND_SOC_INTEL_CNL is not set
> >>
> >>   CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m
> >> -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
> >> +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
> >>   CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
> >>   CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
> > 
> > Applied to eoan/master-next branch.
> 
> When these configs are applied, running update-configs causes the following
> further changes:

Clearly Hui never ran updateconfigs even for the original patch.

Specific info below, but basically they are all selected by other option
which are now enabled. The only ones which are questionable are
SND_SOC_INTEL_CFL and SND_SOC_INTEL_CNL, since Hui had explicitly
disabled them, but they are selected by SND_SOC_INTEL_SKYLAKE which he
did not disable. I suspect it's not harful to leave them enabled as the
original patch did, but maybe the safest bet is to only apply Hui's
original patch (and run updateconfigs on it) and leave the rest of the
changes until later.

> diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
> index 7bdbdc3c103f..d1c7c60884c3 100644
> --- a/debian.master/config/config.common.ubuntu
> +++ b/debian.master/config/config.common.ubuntu
> @@ -9081,14 +9081,14 @@ CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=m
>  CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
>  CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m
>  # CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set
> -# CONFIG_SND_SOC_INTEL_CFL is not set
> +CONFIG_SND_SOC_INTEL_CFL=m

Selected by SND_SOC_INTEL_SKYLAKE.

>  CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
>  CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m
>  CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
>  CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
>  # CONFIG_SND_SOC_INTEL_CML_H is not set
>  # CONFIG_SND_SOC_INTEL_CML_LP is not set
> -# CONFIG_SND_SOC_INTEL_CNL is not set
> +CONFIG_SND_SOC_INTEL_CNL=m

Also selected by SND_SOC_INTEL_SKYLAKE.

>  CONFIG_SND_SOC_INTEL_GLK=m
>  CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
>  CONFIG_SND_SOC_INTEL_HASWELL=m
> @@ -9248,6 +9248,7 @@ CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
>  # CONFIG_SND_SOC_SOF_DEBUG is not set
>  CONFIG_SND_SOC_SOF_GEMINILAKE=m
>  CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
> +CONFIG_SND_SOC_SOF_HDA=m

Automatically selected as a result of SND_SOC_SOF_HDA_LINK now being
enabled.

>  CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
>  CONFIG_SND_SOC_SOF_HDA_COMMON=m
>  CONFIG_SND_SOC_SOF_HDA_LINK=y
> @@ -9262,10 +9263,10 @@ CONFIG_SND_SOC_SOF_INTEL_PCI=m
>  CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
>  CONFIG_SND_SOC_SOF_MERRIFIELD=m
>  CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
> -# CONFIG_SND_SOC_SOF_NOCODEC is not set

Disappears because it depends on SND_SOC_SOF_NOCODEC_SUPPORT.

>  # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
>  CONFIG_SND_SOC_SOF_OPTIONS=m
>  CONFIG_SND_SOC_SOF_PCI=m
> +CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y

Another automatically selected option.

>  # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set
>  CONFIG_SND_SOC_SOF_TOPLEVEL=y
>  CONFIG_SND_SOC_SOF_XTENSA=m
> 
> 
> 
> Please advise.
> 
> 
> Thanks,
> Kleber
> 
> 
> > 
> > Thanks,
> > Kleber
> > 
> >>
> >>> Thanks,
> >>>
> >>> Hui.
> >>>
> >>>
> >>>>
> >>>> Thanks,
> >>>> Seth
> >>>>
> >>>>
> >>>> diff --git a/debian.master/config/config.common.ubuntu 
> >>>> b/debian.master/config/config.common.ubuntu
> >>>> index 555862498d8f..988767d260bc 100644
> >>>> --- a/debian.master/config/config.common.ubuntu
> >>>> +++ b/debian.master/config/config.common.ubuntu
> >>>> @@ -9081,14 +9081,14 @@ CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m
> >>>>   # CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set
> >>>> -CONFIG_SND_SOC_INTEL_CFL=m
> >>>> +# CONFIG_SND_SOC_INTEL_CFL is not set
> >>>>   CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
> >>>> -CONFIG_SND_SOC_INTEL_CML_H=m
> >>>> -CONFIG_SND_SOC_INTEL_CML_LP=m
> >>>> -CONFIG_SND_SOC_INTEL_CNL=m
> >>>> +# CONFIG_SND_SOC_INTEL_CML_H is not set
> >>>> +# CONFIG_SND_SOC_INTEL_CML_LP is not set
> >>>> +# CONFIG_SND_SOC_INTEL_CNL is not set
> >>>>   CONFIG_SND_SOC_INTEL_GLK=m
> >>>>   CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_HASWELL=m
> >>>> @@ -9105,10 +9105,10 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
> >>>> -CONFIG_SND_SOC_INTEL_SKYLAKE=m
> >>>> +# CONFIG_SND_SOC_INTEL_SKYLAKE is not set
> >>>>   CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
> >>>>   CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m
> >>>> -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
> >>>> +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set
> >>>>   CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
> >>>>   CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
> >>>>   CONFIG_SND_SOC_INTEL_SST=m
> >>>> @@ -9248,7 +9248,10 @@ CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
> >>>>   # CONFIG_SND_SOC_SOF_DEBUG is not set
> >>>>   CONFIG_SND_SOC_SOF_GEMINILAKE=m
> >>>>   CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
> >>>> +CONFIG_SND_SOC_SOF_HDA=m
> >>>> +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
> >>>>   CONFIG_SND_SOC_SOF_HDA_COMMON=m
> >>>> +CONFIG_SND_SOC_SOF_HDA_LINK=y
> >>>>   CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
> >>>>   CONFIG_SND_SOC_SOF_ICELAKE=m
> >>>>   CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
> >>>> @@ -9260,10 +9263,10 @@ CONFIG_SND_SOC_SOF_INTEL_PCI=m
> >>>>   CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
> >>>>   CONFIG_SND_SOC_SOF_MERRIFIELD=m
> >>>>   CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
> >>>> -CONFIG_SND_SOC_SOF_NOCODEC=m
> >>>> -CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT=y
> >>>> +# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
> >>>>   CONFIG_SND_SOC_SOF_OPTIONS=m
> >>>>   CONFIG_SND_SOC_SOF_PCI=m
> >>>> +CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
> >>>>   # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set
> >>>>   CONFIG_SND_SOC_SOF_TOPLEVEL=y
> >>>>   CONFIG_SND_SOC_SOF_XTENSA=m
> >>>>
> >>
> > 
> 



More information about the kernel-team mailing list