[broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer works on Dell Venue 11 Pro 7140

Bug #1846539 reported by RussianNeuroMancer on 2019-10-03
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
Unassigned
Linux
Confirmed
Medium
linux (Ubuntu)
High
Hui Wang
Bionic
Undecided
Unassigned
Eoan
High
Unassigned
linux-oem-osp1 (Ubuntu)
Undecided
Unassigned
Bionic
Undecided
Unassigned
Eoan
Undecided
Unassigned

Bug Description

[Impact]
With the current default kernel config, the SND_SOC_SOF_BROADWELL_SUPPORT
is set to Y, then it will make the legacy intel soc driver fail, and
moreover the current sof driver can't support broadwell well, as a
result, many broadwell computers with I2S codec can't support sound anymore.

[Fix]
Intel submitted a patch, it will make those two kconfig options exclusive,
and the legacy soc's option has higher priority, if both of them are
enabled, sof's option will be disabled.

[Test Case]
Build the kernel and check the debian/build/$buidling_dir/.config, the
SND_SOC_SOF_BROADWELL_SUPPORT is disabled.

[Regression Risk]
Low, so far, the sof driver can't support broadwell machine well, so
there is no machine use this driver yet.

Hello!

I noticed that since Linux 5.2rc2 audio playback no longer works on Dell Venue 11 Pro 7140 (Intel Core M-5Y71; rt286). Turns out that happened because SND_SOC_SOF_BROADWELL_SUPPORT was enabled in kernel binary builds since 5.2rc2: https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc2/

To verify this assumption I tested two builds of Linux 5.3.1.
1. Build with enabled SND_SOC_SOF_BROADWELL_SUPPORT from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3.1/

Audio playback doesn't work, dmesg:
[ 4.072800] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.212606] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.238009] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.294920] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.407351] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.428922] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.458926] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.472113] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
[ 4.472118] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
[ 4.472735] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
[ 4.474607] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> System Pin mapping ok
[ 4.474676] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload0 Pin mapping ok
[ 4.474741] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload1 Pin mapping ok
[ 4.474807] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Loopback Pin mapping ok
[ 4.476377] broadwell-audio broadwell-audio: rt286-aif1 <-> snd-soc-dummy-dai mapping ok
[ 4.480344] input: broadwell-rt286 Headset as /devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1/input14
[ 7.892659] haswell-pcm-audio haswell-pcm-audio: error: message type 7 header 0x87000000
[ 13.015379] haswell-pcm-audio haswell-pcm-audio: error: reset stream 2 still running
[ 13.127262] haswell-pcm-audio haswell-pcm-audio: error: reset stream 0 still running
[ 19.623436] haswell-pcm-audio haswell-pcm-audio: ipc: --message timeout-- ipcx 0x86120000 isr 0x00000000 ipcd 0x47000000 imrx 0x7fff0000
[ 19.623446] haswell-pcm-audio haswell-pcm-audio: ipc: error set dx state 3 faile

2. Build with disabled SND_SOC_SOF_BROADWELL_SUPPORT.

Audio playback works, dmesg:
[ 4.839028] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
[ 4.839034] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
[ 4.839644] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
[ 4.851204] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.907386] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> System Pin mapping ok
[ 4.907475] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload0 Pin mapping ok
[ 4.909831] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload1 Pin mapping ok
[ 4.909931] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Loopback Pin mapping ok
[ 4.912149] broadwell-audio broadwell-audio: rt286-aif1 <-> snd-soc-dummy-dai mapping ok
[ 4.929629] input: broadwell-rt286 Headset as /devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1/input14

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: alsa-base 1.0.25+dfsg-0ubuntu5
ProcVersionSignature: Ubuntu 5.3.0-13.14-generic 5.3.0
Uname: Linux 5.3.0-13-generic x86_64
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: irina 818 F.... pulseaudio
 /dev/snd/controlC0: irina 818 F.... pulseaudio
CurrentDesktop: GNOME
Date: Fri Oct 4 01:22:54 2019
InstallationDate: Installed on 2019-02-12 (233 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3)
PackageArchitecture: all
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=ru_RU.UTF-8
 SHELL=/bin/bash
SourcePackage: alsa-driver
Symptom: audio
Symptom_AlsaPlaybackTest: ALSA playback test through plughw:broadwellrt286 failed
Symptom_AlsaPlaybackTestStderr:
 W r i t e e r r o r : - 5 , I n p u t / o u t p u t e r r o r
  x r u n _ r e c o v e r y f a i l e d : - 5 , I n p u t / o u t p u t e r r o r
  T r a n s f e r f a i l e d : I n p u t / o u t p u t e r r o r
Symptom_Card: Встроенное аудио - broadwell-rt286
Symptom_DevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: irina 818 F.... pulseaudio
 /dev/snd/controlC0: irina 818 F.... pulseaudio
Symptom_Type: No sound at all
Title: [broadwell-rt286 - broadwell-rt286, playback] No sound at all
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/21/2019
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A19
dmi.board.name: 0VYPC7
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA19:bd06/21/2019:svnDellInc.:pnVenue11Pro7140:pvr:rvnDellInc.:rn0VYPC7:rvrA00:cvnDellInc.:ct8:cvr:
dmi.product.name: Venue 11 Pro 7140
dmi.product.sku: 066B
dmi.sys.vendor: Dell Inc.

CVE References

Created attachment 283853
dmesg output

Since kernel 5.2 there is no sound on my Broadwell-based laptop with bdw-rt5677 driver. The laptop is a Chromebook Pixel 2015 (Samus) converted to Linux with UEFI firmware by MrChromebox. There was no problem with this component with 4.19.*, 5.0.* and 5.1.* kernels up until 5.1.16.

> uname -a
Linux pixie 5.2.1-arch1-1-ARCH #1 SMP PREEMPT Sun Jul 14 14:52:52 UTC 2019 x86_64 GNU/Linux

> cat /proc/version
Linux version 5.2.1-arch1-1-ARCH (builduser@heftig-55221) (gcc version 9.1.0 (GCC)) #1 SMP PREEMPT Sun Jul 14 14:52:52 UTC 2019

> cat /proc/cpuinfo | grep -i name
model name : Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz

awk -f scripts/ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux pixie 5.2.1-arch1-1-ARCH #1 SMP PREEMPT Sun Jul 14 14:52:52 UTC 2019 x86_64 GNU/Linux

GNU C 9.1.0
GNU Make 4.2.1
Binutils 2.32
Util-linux 2.34
Mount 2.34
Module-init-tools 26
E2fsprogs 1.45.3
Jfsutils 1.1.15
Reiserfsprogs 3.6.27
Xfsprogs 4.20.0
Linux C Library 2.29
Dynamic linker (ldd) 2.29
Linux C++ Library 6.0.26
Procps 3.3.15
Kbd 2.0.4
Console-tools 2.0.4
Sh-utils 8.31
Udev 242
Modules Loaded 8021q ac ac97_bus aesni_intel aes_x86_64 agpgart ahci arc4 atkbd atmel_mxt_ts battery ccm cfg80211 chromeos_laptop cmdlinepart coretemp crc16 crc32c_generic crc32c_intel crc32_pclmul crct10dif_pclmul cros_ec_core cros_ec_lpcs cros_kbd_led_backlight cryptd crypto_simd drm drm_kms_helper evdev ext4 fat fb_sys_fops garp ghash_clmulni_intel glue_helper gpio_lynxpoint i2c_algo_bit i8042 i915 input_leds intel_cstate intel_gtt intel_pch_thermal intel_powerclamp intel_rapl intel_rapl_perf intel_spi intel_spi_platform intel_uncore ip_tables irqbypass iTCO_vendor_support iTCO_wdt iwlmvm iwlwifi jbd2 joydev kvm kvm_intel libahci libata libps2 llc lpc_ich lz4 lz4_compress mac80211 mac_hid mbcache media mei mei_me mousedev mrp msr mtd nls_cp437 nls_iso8859_1 ofpart pcc_cpufreq pcspkr rfkill rng_core scsi_mod sd_mod serio serio_raw snd snd_compress snd_hda_codec snd_hda_codec_hdmi snd_hda_core snd_hda_intel snd_hwdep snd_pcm snd_pcm_dmaengine snd_soc_acpi snd_soc_acpi_intel_match snd_soc_core snd_soc_rl6231 snd_soc_rt5677 snd_soc_rt5677_spi snd_soc_sst_acpi snd_soc_sst_bdw_rt5677_mach snd_soc_sst_dsp snd_soc_sst_firmware snd_soc_sst_haswell_pcm snd_soc_sst_ipc snd_sof snd_sof_intel_bdw snd_sof_intel_byt snd_sof_intel_ipc snd_sof_xtensa_dsp snd_timer sof_acpi_dev soundcore spi_nor spi_pxa2xx_platform stp syscopyarea sysfillrect sysimgblt tpm tpm_tis tpm_tis_core uvcvideo vfat videobuf2_common videobuf2_memops videobuf2_v4l2 videobuf2_vmalloc videodev x86_pkg_temp_thermal xhci_hcd xhci_pci x_tables

Created attachment 283855
/proc/modules

Created attachment 283857
/proc/iomem

Created attachment 283859
lspci -vvv

> cat /etc/modprobe.d/modprobe.conf
blacklist btintel
blacklist btusb
blacklist bluetooth

options snd slots=snd_soc_sst_bdw_rt5677_mach,snd-hda-intel

I can confirm that this is an issue with Linux 5.2 and the bdw-rt5677 hardware. Downgrading to Linux 4.19.59 fixes the issue. This issue was not present in Linux 5.0 or 5.1. The hardware is a 2015 Chromebook Pixel (Samus).

Looking at Dmitry Savostyanov logs, we have very similar output. Our only difference is that I have not edited /etc/modprobe.d/modprob.conf to blacklist modules via udev. I will post additional information.

Created attachment 283891
lsmod

The issue persists with kernel 5.2.4-arch1-1-ARCH.

When attempting to play sound the kernel reports the following error:

Jul 30 21:42:25 pixie kernel: haswell-pcm-audio haswell-pcm-audio: ipc: error set dx state 3 failed

The issue persists in kernel 5.3.

Download full text (3.7 KiB)

Hello!

I noticed that since Linux 5.2rc2 audio playback no longer works on Dell Venue 11 Pro 7140 (Intel Core M-5Y71; rt286). Turns out that happened because SND_SOC_SOF_BROADWELL_SUPPORT was enabled in kernel binary builds since 5.2rc2: https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc2/

To verify this assumption I tested two builds of Linux 5.3.1.
1. Build with enabled SND_SOC_SOF_BROADWELL_SUPPORT from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3.1/

Audio playback doesn't work, dmesg:
[ 4.072800] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 4.212606] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.238009] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.294920] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.407351] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.428922] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.458926] broadwell-audio broadwell-audio: ASoC: failed to init link System PCM: -517
[ 4.472113] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
[ 4.472118] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
[ 4.472735] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
[ 4.474607] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> System Pin mapping ok
[ 4.474676] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload0 Pin mapping ok
[ 4.474741] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Offload1 Pin mapping ok
[ 4.474807] broadwell-audio broadwell-audio: snd-soc-dummy-dai <-> Loopback Pin mapping ok
[ 4.476377] broadwell-audio broadwell-audio: rt286-aif1 <-> snd-soc-dummy-dai mapping ok
[ 4.480344] input: broadwell-rt286 Headset as /devices/pci0000:00/INT3438:00/broadwell-audio/sound/card1/input14
[ 7.892659] haswell-pcm-audio haswell-pcm-audio: error: message type 7 header 0x87000000
[ 13.015379] haswell-pcm-audio haswell-pcm-audio: error: reset stream 2 still running
[ 13.127262] haswell-pcm-audio haswell-pcm-audio: error: reset stream 0 still running
[ 19.623436] haswell-pcm-audio haswell-pcm-audio: ipc: --message timeout-- ipcx 0x86120000 isr 0x00000000 ipcd 0x47000000 imrx 0x7fff0000
[ 19.623446] haswell-pcm-audio haswell-pcm-audio: ipc: error set dx state 3 faile

2. Build with disabled SND_SOC_SOF_BROADWELL_SUPPORT.

Audio playback works, dmesg:
[ 4.839028] haswell-pcm-audio haswell-pcm-audio: Direct firmware load for intel/IntcPP01.bin failed with error -2
[ 4.839034] haswell-pcm-audio haswell-pcm-audio: fw image intel/IntcPP01.bin not available(-2)
[ 4.839644] haswell-pcm-audio haswell-pcm-audio: FW loaded, mailbox readback FW info: type 01, - version: 00.00, build 77, source commit id: 876ac6906f31a43b6772b23c7c983ce9dcb18a19
[ 4.851204] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_comp...

Read more...

Created attachment 285325
Linux 5.3.1 with CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT=y

Created attachment 285327
Linux 5.3.1 without CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT

summary: - [broadwell-rt286, playback] Since Linux 5.2 audio playback stop working
- on Dell Venue 11 Pro 7140
+ [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback stop
+ working on Dell Venue 11 Pro 7140

Add Linux as affected package as known workaround require changing kernel build configuration (unset CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT).

summary: - [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback stop
- working on Dell Venue 11 Pro 7140
+ [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer
+ works on Dell Venue 11 Pro 7140
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed

Liam and Pierre-Louis,

I have bisected this to the Sound Open Framework support from Intel that was added during the v5.2-rc1 cycle. Specifically, the issue is present beginning with this commit:

commit f35bf70f61d389754fafd7fce75efbb3bd2eea87
Author: Liam Girdwood <email address hidden>
Date: Fri Apr 12 11:09:03 2019 -0500

    ASoC: Intel: Make sure BDW based machine drivers build for SOF

    BDW uses hard coded IPC calls to set SSP, not needed in SOF as SSP is
    configured via topology.

    Signed-off-by: Liam Girdwood <email address hidden>
    Signed-off-by: Pierre-Louis Bossart <email address hidden>
    Reviewed-by: Takashi Iwai <email address hidden>
    Signed-off-by: Mark Brown <email address hidden>

For me, this is occurring on a Dell Latitude 7350, running out-of-the-box Fedora 30 or Arch Linux. I see the output from dmesg that others have mentioned and then more -- including a kernel bug involving sst_dsp_dma_put_channel(). I will attach it here.

Created attachment 285641
dmesg (Latitude 7350, kernel 5.3.7, typical output)

Created attachment 285643
dmesg (Latitude 7350, kernel 5.3.7, output with DMA bug)

*** This bug has been marked as a duplicate of bug 204237 ***

*** Bug 205083 has been marked as a duplicate of this bug. ***

It's likely that you enabled both drivers for Broadwell, which is an invalid configuration. Just deselect SOF_BROADWELL with make menuconfig and retry.

Pierre,

1) This is occurring with the stock Linux kernel that ships with mainline Linux distributions (Fedora, Ubuntu, Arch Linux). It's affecting end users who just want sound to work out-of-the-box, like it did before SOF was introduced.

2) If selecting both kernel configuration options would produce an invalid build, that is a bug in the Kconfig files, which should be adjusted to enforce these dependencies.

Thanks!

> 1) This is occurring with the stock Linux kernel that ships with mainline
> Linux
> distributions (Fedora, Ubuntu, Arch Linux). It's affecting end users who just
> want sound to work out-of-the-box, like it did before SOF was introduced.

The notion of stock kernel is misleading, it all depends on what options
are selected.

> 2) If selecting both kernel configuration options would produce an invalid
> build, that is a bug in the Kconfig files, which should be adjusted to
> enforce
> these dependencies.

Indeed the distros don't seem to have a proper communication channel
with driver developers to make sure the options make sense. We just had
a case with Ubuntu where HDaudio support was removed due to the
selection of an option explicitly marked as 'use at your own risk'

We'll try to make the options more self-explanatory, in the mean time,
can you please try and confirm the hypothesis that it's indeed a Kconfig
option issue

Disabling SND_SOC_SOF_BROADWELL_SUPPORT does help at least on Dell Venue 11 Pro 7140.

Changed in linux:
status: Confirmed → Invalid
Changed in linux:
importance: Medium → Unknown
status: Invalid → Unknown
Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed

Removing SND_SOC_SOF_BROADWELL_SUPPORT fixes Pixel 2015 audio on Arch default kernel config

David Ward (dpward) on 2019-10-28
Changed in linux (Ubuntu):
status: New → Confirmed
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
David Ward (dpward) on 2019-10-29
affects: alsa-driver (Ubuntu) → ubuntu

(In reply to Pierre Bossart from comment #17)
> The notion of stock kernel is misleading, it all depends on what options
> are selected.

Yes I agree with that. From your earlier message, I couldn't tell if it was clear that the settings were chosen by the distro (several of them), not accidentally selected by end users rebuilding the kernel with custom options. I think we're on the same page now.

> We'll try to make the options more self-explanatory, in the mean time,
> can you please try and confirm the hypothesis that it's indeed a Kconfig
> option issue

1) With SND_SOC_SOF_INTEL_TOPLEVEL=n and SND_SOC_INTEL_SST_TOPLEVEL=y on v5.3.7:

The reported errors disappear, and sound works (just like others have said).

2) With SND_SOC_SOF_INTEL_TOPLEVEL=y and SND_SOC_INTEL_SST_TOPLEVEL=n on v5.3.7:

The reported errors disappear, but sound does not work. I manually installed the appropriate SOF v1.3 firmware file¹, and it loads:

  sof-audio-acpi INT3438:00: Firmware info: version 1:1:0-5dd9a
  sof-audio-acpi INT3438:00: Firmware: ABI 3:7:0 Kernel ABI 3:8:0
  sof-audio-acpi INT3438:00: firmware boot complete

but ALSA only sees the HDMI interface. This is appearing several times in dmesg:

  broadwell-audio broadwell-audio: info: override FE DAI link Codec
  broadwell-audio broadwell-audio: ASoC: CPU DAI snd-soc-dummy-dai not registered

3) With SND_SOC_SOF_INTEL_TOPLEVEL=y and SND_SOC_INTEL_SST_TOPLEVEL=y on the current sound subsystem tree (with the DSP probe module for Intel platforms²):

The behavior is no different than what was originally described in this bug.

Perhaps (2) is a separate issue (potentially misconfiguration on my part), and/or (3) may not be completed yet, but I hope this is useful.

¹ https://github.com/thesofproject/sof/releases/download/v1.3/sof-bdw-gcc.ri
² https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?id=82d9d54a6c0ee8b12211fa4e59fd940a2da4e063

Can you try to cherry-pick what's on

https://github.com/thesofproject/linux/pull/1382

that should prevent SOF from being selected if you've already selected
the legacy drivers.

With those commits cherry-picked on top of the current sound subsystem tree (aside from 65263bf16116 and 3f89e62cf14c, which both revert changes that are not in that tree), it works. The option for SOF support on Broadwell gets deselected automatically during the build, because the legacy driver is selected.

One note about the help text added to Kconfig: see https://github.com/thesofproject/linux/pull/1382#pullrequestreview-309637829

Thanks for testing David, much appreciated.

(In reply to Pierre Bossart from comment #17)

> Indeed the distros don't seem to have a proper communication channel
> with driver developers to make sure the options make sense.

It's not easy to have multiple drivers for the same hardware. This bug is just an example what we are trying to resolve in distros. We need to compile _ALL_ drivers and let users to choose the right one. The best practise is to select the correct driver at run-time with the possibility that the user might force another one.

What we need to add the support the Chromebook Pixel 2015 to the universal distribution in this example. The SND_SOC_SOF_INTEL_TOPLEVEL=n is not a solution (DMIC for HDA DSP). Another option is SND_SOC_SOF_BROADWELL_SUPPORT=n . Ideally, we should have both SOF / SST drivers in the kernel and let users to select the right one (if the automatic selection does not work). If you confirm, that we can use the newer SOF driver for this hardware with the correct firmware files, it's also ok for us.

The code in commit f35bf70f61d389754fafd7fce75efbb3bd2eea87 (comment #11) assumes that SOF _or_ SST driver is built exclusively.

Hui Wang (hui.wang) on 2019-11-19
Changed in linux (Ubuntu):
assignee: nobody → Hui Wang (hui.wang)
importance: Undecided → High
Hui Wang (hui.wang) on 2019-11-20
description: updated
David Ward (dpward) on 2019-11-26
affects: ubuntu → hwe-next
Stefan Bader (smb) on 2019-12-02
Changed in linux (Ubuntu Eoan):
importance: Undecided → High
status: New → Fix Committed
Timo Aaltonen (tjaalton) on 2019-12-04
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: New → Fix Committed
Changed in linux (Ubuntu Bionic):
status: New → Invalid

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-eoan' to 'verification-done-eoan'. If the problem still exists, change the tag 'verification-needed-eoan' to 'verification-failed-eoan'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-eoan
David Ward (dpward) on 2019-12-05
tags: added: verification-done-eoan
removed: verification-needed-eoan
David Ward (dpward) wrote :

There are two upstream commits that make the SOF and SST drivers mutually exclusive on a specific platform.

The one for Broadwell is now merged into the Ubuntu kernel:
https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/eoan/commit/?id=d46917958a6366f3c63501e9962b60dd7d33a3bd

But the matching one for Baytrail is missing. It should be merged as well:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=df7257e544faf838c3e7ad6b4e89ffe59e87f5e1

Thanks!

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-oem-osp1 (Ubuntu Eoan):
status: New → Confirmed
Changed in linux-oem-osp1 (Ubuntu):
status: New → Confirmed

Created attachment 286585
dmesg output (5.4.7-arch1-1)

Created attachment 286587
/proc/modules (5.4.7-arch1-1)

Created attachment 286589
/proc/iomem (5.4.7-arch1-1)

Created attachment 286591
lspci -vvv (5.4.7-arch1-1)

Created attachment 286593
lsmod (5.4.7-arch1-1)

The issue seems to be resolved in the current kernel supplied with Arch Linux. I attached updated files to the report.

> uname -a
Linux pixie 5.4.7-arch1-1 #1 SMP PREEMPT Tue, 31 Dec 2019 17:20:16 +0000 x86_64 GNU/Linux

> cat /proc/version
Linux version 5.4.7-arch1-1 (linux@archlinux) (gcc version 9.2.0 (GCC)) #1 SMP PREEMPT Tue, 31 Dec 2019 17:20:16 +0000

FWIW there are still issues with the latest ALSA/ASoC code when using bdw-rt5677 with the legacy BIOS, see https://github.com/thesofproject/linux/pull/1659

kryspin013 (kryspin013) on 2020-01-05
Changed in linux (Ubuntu Eoan):
status: Fix Committed → Fix Released
kryspin013 (kryspin013) wrote :

I'm sorry, I changed the status of the report unconsciously to "Fix Released". It is possible to restore previous status?

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1033.38

---------------
linux-oem-osp1 (5.0.0-1033.38) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1033.38 -proposed tracker (LP: #1856522)

  * change kconfig of the soundwire bus driver from y to m (LP: #1855685)
    - [config]: SOUNDWIRE=m

  * alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the
    docking station work (LP: #1855666)
    - ALSA: hda/hdmi - implement mst_no_extra_pcms flag
    - ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
    - ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
    - ASoC: Intel: skl-hda-dsp-generic: fix include guard name
    - ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
    - ASoC: SOF: enable sync_write in hdac_bus
    - [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y

  * Support DPCD aux brightness control (LP: #1856134)
    - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations
    - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode
    - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight()
    - SAUCE: drm/i915: Check backlight type while doing eDP backlight
      initializaiton
    - SAUCE: drm/i915: Auto detect DPCD backlight support by default
    - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED
      panel
    - SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku

  * Make hotplugging docking station to Thunderbolt port more reliable
    (LP: #1853991)
    - PCI: PM: Avoid skipping bus-level PM on platforms without ACPI
    - PCI: Make pcie_downstream_port() available outside of access.c
    - PCI/PM: Add pcie_wait_for_link_delay()
    - PCI/PM: Add missing link delays required by the PCIe spec

  * X crashes if set to external monitor only and then remove HDMI cable during
    suspend (LP: #1856517)
    - SAUCE: drm/i915/icl: add missing GT workaround

  * Fix Realtek Bluetooth firmware download (LP: #1856079)
    - Bluetooth: btrtl: Fix an issue that failing to download the FW which size is
      over 32K bytes

  * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312)
    - SAUCE: USB: core: Make port power cycle a seperate helper function
    - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state

  * alsa/hda/realtek: the line-out jack doens't work on a dell AIO
    (LP: #1855999)
    - SAUCE: ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO

 -- Timo Aaltonen <email address hidden> Mon, 16 Dec 2019 14:56:37 +0200

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (8.6 KiB)

This bug was fixed in the package linux - 5.4.0-9.12

---------------
linux (5.4.0-9.12) focal; urgency=medium

  * alsa/hda/realtek: the line-out jack doens't work on a dell AIO
    (LP: #1855999)
    - SAUCE: ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO

  * scsi: hisi_sas: Check sas_port before using it (LP: #1855952)
    - scsi: hisi_sas: Check sas_port before using it

  * CVE-2019-19078
    - ath10k: fix memory leak

  * cifs: DFS Caching feature causing problems traversing multi-tier DFS setups
    (LP: #1854887)
    - cifs: Fix retrieval of DFS referrals in cifs_mount()

  * Support DPCD aux brightness control (LP: #1856134)
    - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations
    - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode
    - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight()
    - SAUCE: drm/i915: Auto detect DPCD backlight support by default
    - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED
      panel
    - USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku

  * The system cannot resume from S3 if user unplugs the TB16 during suspend
    state (LP: #1849269)
    - PCI: pciehp: Do not disable interrupt twice on suspend
    - PCI: pciehp: Prevent deadlock on disconnect

  * change kconfig of the soundwire bus driver from y to m (LP: #1855685)
    - [Config]: SOUNDWIRE=m

  * alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the
    docking station work (LP: #1855666)
    - ALSA: hda/hdmi - implement mst_no_extra_pcms flag
    - ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
    - ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
    - ASoC: Intel: skl-hda-dsp-generic: fix include guard name
    - ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
    - ASoC: Intel: bxt-da7219-max98357a: common hdmi codec support
    - ASoC: Intel: glk_rt5682_max98357a: common hdmi codec support
    - ASoC: intel: sof_rt5682: common hdmi codec support
    - ASoC: Intel: bxt_rt298: common hdmi codec support
    - ASoC: SOF: enable sync_write in hdac_bus
    - [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y

  * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312)
    - SAUCE: USB: core: Make port power cycle a seperate helper function
    - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state

  * Focal update: v5.4.3 upstream stable release (LP: #1856583)
    - rsi: release skb if rsi_prepare_beacon fails
    - arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
    - arm64: tegra: Fix 'active-low' warning for Jetson Xavier regulator
    - perf scripts python: exported-sql-viewer.py: Fix use of TRUE with SQLite
    - sparc64: implement ioremap_uc
    - lp: fix sparc64 LPSETTIMEOUT ioctl
    - time: Zero the upper 32-bits in __kernel_timespec on 32-bit
    - mailbox: tegra: Fix superfluous IRQ error message
    - staging/octeon: Use stubs for MIPS && !CAVIUM_OCTEON_SOC
    - usb: gadget: u_serial: add missing port entry locking
    - serial: 8250-mtk: Use platform_get_irq_optional() for optional irq
    - tty: serial: fsl_lpuart: use the sg ...

Read more...

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-osp1 - 5.0.0-1033.38

---------------
linux-oem-osp1 (5.0.0-1033.38) bionic; urgency=medium

  * bionic/linux-oem-osp1: 5.0.0-1033.38 -proposed tracker (LP: #1856522)

  * change kconfig of the soundwire bus driver from y to m (LP: #1855685)
    - [config]: SOUNDWIRE=m

  * alsa/sof: change to use hda hdmi codec driver to make hdmi audio on the
    docking station work (LP: #1855666)
    - ALSA: hda/hdmi - implement mst_no_extra_pcms flag
    - ASoC: hdac_hda: add support for HDMI/DP as a HDA codec
    - ASoC: Intel: skl-hda-dsp-generic: use snd-hda-codec-hdmi
    - ASoC: Intel: skl-hda-dsp-generic: fix include guard name
    - ASoC: SOF: Intel: add support for snd-hda-codec-hdmi
    - ASoC: SOF: enable sync_write in hdac_bus
    - [config]: SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y

  * Support DPCD aux brightness control (LP: #1856134)
    - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations
    - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode
    - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight()
    - SAUCE: drm/i915: Check backlight type while doing eDP backlight
      initializaiton
    - SAUCE: drm/i915: Auto detect DPCD backlight support by default
    - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED
      panel
    - SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku

  * Make hotplugging docking station to Thunderbolt port more reliable
    (LP: #1853991)
    - PCI: PM: Avoid skipping bus-level PM on platforms without ACPI
    - PCI: Make pcie_downstream_port() available outside of access.c
    - PCI/PM: Add pcie_wait_for_link_delay()
    - PCI/PM: Add missing link delays required by the PCIe spec

  * X crashes if set to external monitor only and then remove HDMI cable during
    suspend (LP: #1856517)
    - SAUCE: drm/i915/icl: add missing GT workaround

  * Fix Realtek Bluetooth firmware download (LP: #1856079)
    - Bluetooth: btrtl: Fix an issue that failing to download the FW which size is
      over 32K bytes

  * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312)
    - SAUCE: USB: core: Make port power cycle a seperate helper function
    - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state

  * alsa/hda/realtek: the line-out jack doens't work on a dell AIO
    (LP: #1855999)
    - SAUCE: ALSA: hda/realtek - Line-out jack doesn't work on a Dell AIO

 -- Timo Aaltonen <email address hidden> Mon, 16 Dec 2019 14:56:37 +0200

Changed in linux-oem-osp1 (Ubuntu):
status: Confirmed → Fix Released
status: Confirmed → Fix Released
Changed in linux-oem-osp1 (Ubuntu Eoan):
status: Confirmed → Fix Released
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.