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

Hui Wang hui.wang at canonical.com
Tue Oct 22 01:28:14 UTC 2019


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

> 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