Bug 2120725

Summary: Add support for audio on recent-ish Chromebooks by default
Product: [Fedora] Fedora Reporter: Alicja Michalska <alka96>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 36CC: acaringi, adscvr, airlied, alciregi, bskeggs, hdegoede, hpa, jarodwilson, jforbes, jglisse, jonathan, josef, kernel-maint, lgoncalv, linville, masami256, mchehab, ptalbert, steved
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-08-23 16:30:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alicja Michalska 2022-08-23 15:46:31 UTC
1. Please describe the problem:
Starting with kernel 5,19, Intel engineers introduced new AVS module, which solves headaches of Chromebook users on SkyLake, KabyLake, ApolloLake and possibly GeminiLake (as well as refresh variants of those SoCs).

We (chrultrabook project) are currently testing kernel release 6.0. Despite Fedora providing mainline kernel repository, SND_SOC_INTEL_AVS_MACH_DA7219 isn't enabled by default, requiring kernel recompilation.

2. What is the Version-Release number of the kernel:
Mainline (6.0-rc*).


3. Did it work previously in Fedora? If so, what kernel version did the issue
   *first* appear?
N/A


4. Can you reproduce this issue? If so, please provide the steps to reproduce
   the issue below:
Booting kernel-vanilla-mainline	on those Chromebooks will result in no audio being detected.

With SND_SOC_INTEL_AVS_MACH_DA7219=m, as well as proper firmware and topology file and UCM, audio becomes fully functional (changes will be upstreamed in time for 6.0 release).

5. Does this problem occur with the latest Rawhide kernel? To install the
   Rawhide kernel, run ``sudo dnf install fedora-repos-rawhide`` followed by
   ``sudo dnf update --enablerepo=rawhide kernel``:
Yes


6. Are you running any modules that not shipped with directly Fedora's kernel?:
No, although current fc36 kernel (5.18) doesn't support avs at all.


7. Please attach the kernel logs. You can get the complete kernel log
   for a boot with ``journalctl --no-hostname -k > dmesg.txt``. If the
   issue occurred on a previous boot, use the journalctl ``-b`` flag.

The only message regarding AVS we can see on kernel-vanilla-mainline is:
[   15.648606] snd_soc_avs 0000:00:0e.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

Compared to kernel compiled by hand, with SND_SOC_INTEL_AVS_MACH_DA7219 set to 'm':
[   19.984445] da7219 i2c-DLGS7219:00: Using default DAI clk names: da7219-dai-wclk, da7219-dai-bclk
[   22.134612] avs_dmic avs_dmic: ASoC: Parent card not yet available, widget card binding deferred
[   22.230953] avs_max98357a avs_max98357a.32: ASoC: Parent card not yet available, widget card binding deferred
[   22.359640] avs_da7219 avs_da7219.2: ASoC: Parent card not yet available, widget card binding deferred
[   22.360510] da7219 i2c-DLGS7219:00: supply VDD not found, using dummy regulator
[   22.362429] da7219 i2c-DLGS7219:00: supply VDDMIC not found, using dummy regulator
[   22.365617] da7219 i2c-DLGS7219:00: supply VDDIO not found, using dummy regulator
[   22.366610] da7219 i2c-DLGS7219:00: Invalid VDDIO voltage
[   22.393218] input: avs_da7219 Headset Jack as /devices/platform/avs_da7219.2/sound/card2/input12
[   22.415606] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 0 0
[   22.420887] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 0
[   22.421691] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 1 1
[   22.425814] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 1
[   22.426603] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 2 2
[   22.435866] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 2
[   22.445239] avs_hdaudio avs_hdaudio.2: ASoC: Parent card not yet available, widget card binding deferred
[   22.460442] avs_hdaudio avs_hdaudio.2: avs_card_late_probe: mapping HDMI converter 1 to PCM 1 (00000000b2f2993d)
[   22.461260] avs_hdaudio avs_hdaudio.2: avs_card_late_probe: mapping HDMI converter 2 to PCM 2 (0000000082224b62)
[   22.462014] avs_hdaudio avs_hdaudio.2: avs_card_late_probe: mapping HDMI converter 3 to PCM 3 (000000008bc07ca6)
[   22.495588] input: hdaudioB0D2 HDMI/DP,pcm=1 as /devices/platform/avs_hdaudio.2/sound/card3/input13
[   22.505231] input: hdaudioB0D2 HDMI/DP,pcm=2 as /devices/platform/avs_hdaudio.2/sound/card3/input14
[   22.515052] input: hdaudioB0D2 HDMI/DP,pcm=3 as /devices/platform/avs_hdaudio.2/sound/card3/input15

8. Fix:
Please add SND_SOC_INTEL_AVS_MACH_DA7219=m to kernel configuration.

Comment 1 Justin M. Forbes 2022-08-23 16:26:58 UTC
This is pretty typical, all new Kconfig options come in set to their defaults so that things continue to build until they can be manually reviewed.  This manual review typically happens after rc3 some time.  These types of config options are typically turned on when I do a review, and they will be this time too.  Likely next week.

Comment 2 Alicja Michalska 2022-08-23 16:30:45 UTC
Just in time then, thanks!