[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