[SRU][EOAN][PATCH v2 1/1] alsa/sof: Enable SOF_HDA link and codec

Khaled Elmously khalid.elmously at canonical.com
Wed Oct 23 09:12:47 UTC 2019


On 2019-10-23 15:14:30 , Hui Wang wrote:
> 
> On 2019/10/23 下午2:34, Khaled Elmously wrote:
> > On 2019-10-22 09:38:02 , Seth Forshee wrote:
> > > On Mon, Oct 21, 2019 at 04:06:15PM -0500, 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>
> > > Oh, also these options should be updated in the annotations file and
> > > enforced. My ack is contigent on this, whether it's done by sending a v2
> > > or by whoever applies the patch.
> > > 
> > Hui, Seth, please see the updated patch that I've come up with. I will assume your +1s unless you tell me otherwise.
> > 
> > Patch inlined here:
> > 
> > ---
> >   debian.master/config/annotations          | 22 ++++++++++++++++------
> >   debian.master/config/config.common.ubuntu | 19 +++++++++++--------
> >   2 files changed, 27 insertions(+), 14 deletions(-)
> > 
> > diff --git a/debian.master/config/annotations b/debian.master/config/annotations
> > index 2874f5a68d29..7eb1cfe9f1ff 100644
> > --- a/debian.master/config/annotations
> > +++ b/debian.master/config/annotations
> > @@ -7912,11 +7912,18 @@ CONFIG_SND_SOC_INTEL_SKL                        policy<{'amd64': 'm', 'i386': 'm
> >   CONFIG_SND_SOC_INTEL_APL                        policy<{'amd64': 'm', 'i386': 'm'}>
> >   CONFIG_SND_SOC_INTEL_KBL                        policy<{'amd64': 'm', 'i386': 'm'}>
> >   CONFIG_SND_SOC_INTEL_GLK                        policy<{'amd64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_INTEL_CNL                        policy<{'amd64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_INTEL_CFL                        policy<{'amd64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_INTEL_CML_H                      policy<{'amd64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_INTEL_CML_LP                     policy<{'amd64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC      policy<{'amd64': 'y', 'i386': 'y'}>
> > +CONFIG_SND_SOC_INTEL_CNL                        note<LP:#1848490>
> > +CONFIG_SND_SOC_INTEL_CNL                        policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_INTEL_CFL                        policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_INTEL_CML_H                      mark<ENFORCED> note<LP:#1848490>
> > +CONFIG_SND_SOC_INTEL_CML_H                      policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_INTEL_CML_LP                     mark<ENFORCED> note<LP:#1848490>
> > +CONFIG_SND_SOC_INTEL_CML_LP                     policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC      mark<ENFORCED> note<LP:#1848490>
> > +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC      policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_SOF_HDA_LINK                     mark<ENFORCED> note<LP:#1848490>
> > +CONFIG_SND_SOC_SOF_HDA_LINK                     policy<{'amd64': 'y', 'i386': 'y'}>
> > +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC              policy<{'amd64': 'y', 'i386': 'y'}>
> >   # Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Intel ASoC SST drivers >> Intel Machine drivers
> >   CONFIG_SND_SOC_INTEL_MACH                       policy<{'amd64': 'y', 'i386': 'y'}>
> > @@ -8012,7 +8019,10 @@ CONFIG_SND_SOC_RCAR                             policy<{'arm64': 'm', 'armhf': '
> >   CONFIG_SND_SOC_SOF_TOPLEVEL                     policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}>
> >   CONFIG_SND_SOC_SOF_PCI                          policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'i386': 'm', 'ppc64el': 'm'}>
> >   CONFIG_SND_SOC_SOF_ACPI                         policy<{'amd64': 'm', 'arm64': 'm', 'i386': 'm'}>
> > -CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT              policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'i386': 'y', 'ppc64el': 'y'}>
> > +CONFIG_SND_SOC_SOF_NOCODEC                      note<LP:#1848490>
> > +CONFIG_SND_SOC_SOF_NOCODEC                      policy<{'amd64': 'n', 'i386': 'n'}>
> > +CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT              note<LP:#1848490>
> > +CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT              policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'i386': 'n', 'ppc64el': 'y'}>
> >   CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS            policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'i386': 'n', 'ppc64el': 'n'}>
> >   # Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Sound Open Firmware Support >> SOF debugging features
> > diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
> > index fff3516eeb40..1db9435b96fa 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
> 
> Adding this in the annotation? The rest looks fine to me.
> 
> Thanks,
> 

I've updated the patch - thanks!


> Hui.
> 
> 
> >   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
> > 
> > > -- 
> > > kernel-team mailing list
> > > kernel-team at lists.ubuntu.com
> > > https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list