[SRU][EOAN][PATCH v2 1/1] alsa/sof: Enable SOF_HDA link and codec
Khaled Elmously
khalid.elmously at canonical.com
Wed Oct 23 06:34:30 UTC 2019
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
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