alsa/sof: support 1 and 3 dmics

Bug #1891585 reported by Hui Wang on 2020-08-14
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
High
Unassigned
linux (Ubuntu)
Medium
Unassigned
Focal
Medium
Unassigned
Groovy
Medium
Unassigned
linux-firmware (Ubuntu)
High
Unassigned
Focal
High
Unassigned
Groovy
High
Unassigned
linux-oem-5.6 (Ubuntu)
High
Hui Wang
Focal
High
Unassigned

Bug Description

This is for linux-firmware:

[Impact]
On a Dell tigerlake laptop, the sof driver fails to detect the dmic,
it alwasys report 0 dmics on the machine. So users doesn't have
internal mic to use.

[Fix]
Intel provides 2 new topology files to us, they could support 1
dmic and 3 dmics.

[Test Case]
Boot the kernel with this patch, and put sof-hda-generic-1ch.tplg in
the linux-firmware, the sof driver could detect the dmic and users
have a workable internal mic after booting up.

[Regression Risk]
This is adding 2 new topology files, not changing anything on
current sof-firmware, so the regression posibility is very low.

This is for linux kernel:

[Impact]
On a Dell tigerlake laptop, the sof driver fails to detect the dmic,
it alwasys report 0 dmics on the machine. So users doesn't have
internal mic to use.

[Fix]
Intel write a patch to fix this issue, if NHLT table returns 1 or
3 dmics, the sof driver will not fail like before, it can support
1 or 3 dmics after applying this patch.

[Test Case]
Boot the kernel with this patch, and put sof-hda-generic-1ch.tplg in
the linux-firmware, the sof driver could detect the dmic and users
have a workable internal mic after booting up.

[Regression Risk]
This patch adds new support for 1 and 3 dmics, it doesn't change
anything on existing functions, so the regression posibility is very
low.

Hui Wang (hui.wang) on 2020-08-14
no longer affects: linux-oem-5.6 (Ubuntu Groovy)
tags: added: oem-priority originate-from-1890525 somerville
Changed in hwe-next:
importance: Undecided → High
Changed in linux (Ubuntu Focal):
importance: Undecided → High
Changed in linux (Ubuntu Groovy):
importance: Undecided → High
Changed in linux-firmware (Ubuntu Focal):
importance: Undecided → High
Changed in linux-oem-5.6 (Ubuntu):
importance: Undecided → High
Changed in linux-oem-5.6 (Ubuntu Focal):
importance: Undecided → High
Changed in linux-firmware (Ubuntu):
importance: Undecided → High
Changed in linux (Ubuntu Focal):
status: New → Triaged
Changed in linux (Ubuntu Groovy):
status: New → Triaged
Changed in linux-firmware (Ubuntu):
status: New → Triaged
Changed in linux-firmware (Ubuntu Focal):
status: New → Triaged
Changed in linux-oem-5.6 (Ubuntu):
status: New → Triaged
Changed in linux-oem-5.6 (Ubuntu Focal):
status: New → Triaged
Changed in hwe-next:
status: New → Triaged
no longer affects: linux (Ubuntu Groovy)
no longer affects: linux-oem-5.6 (Ubuntu Groovy)
Hui Wang (hui.wang) on 2020-08-14
description: updated
Stefan Bader (smb) on 2020-08-14
Changed in linux (Ubuntu Focal):
importance: High → Medium
Changed in linux (Ubuntu Groovy):
importance: High → Medium
Timo Aaltonen (tjaalton) on 2020-08-14
Changed in linux-oem-5.6 (Ubuntu Focal):
status: Triaged → Fix Committed

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-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

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-focal
Hui Wang (hui.wang) wrote :

Booting the proposed kernel and manually add the sof-hda-generic-1ch.tplg, the audio driver works well.

tags: added: verification-done-focal
removed: verification-needed-focal
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.190

---------------
linux-firmware (1.190) groovy; urgency=medium

  * Rebase against git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
    7a30af16115959cf5a817ae51429e72c0084fc0c
    - QCA: Add correct bin file for WCN3991
    - rtl_nic: update firmware for RTL8125B
    - Update to 20200629111339 version to aligh SDK. Mainly fix DFS false alarm.
    - linux-firmware: Update AMD SEV firmware
    - Mellanox: Add new mlxsw_spectrum firmware xx.2008.1036
    - linux-firmware: update NXP SDSD-8997 firmware image
    - amdgpu: update navi10 firmware for 20.30
    - amdgpu: update navi14 firmware for 20.30
    - amdgpu: update picasso firmware for 20.30
    - amdgpu: update raven firmware for 20.30
    - amdgpu: update raven2 firmware for 20.30
    - amdgpu: update renoir firmware for 20.30
    - amdgpu: update vega10 firmware for 20.30
    - amdgpu: update vega12 firmware for 20.30
    - amdgpu: update vega20 firmware for 20.30
    - i915: Add HuC firwmare v7.5.0 for TGL
    - i915: Add DMC firmware 2.08 for TGL
    - i915: Add DMC firmware 2.02 for RKL
    - rtl_bt: Update RTL8822C BT UART firmware to 0x0599_8A4F
    - brcm: Add brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt symlink

  * alsa/sof: support 1 and 3 dmics (LP: #1891585)
    - SAUCE: sof-firmware: add 1ch and 3ch topology files

 -- Seth Forshee <email address hidden> Wed, 19 Aug 2020 13:07:19 -0500

Changed in linux-firmware (Ubuntu Groovy):
status: Triaged → Fix Released
Ian (ian-may) on 2020-08-20
Changed in linux (Ubuntu Focal):
status: Triaged → Fix Committed

Hello Hui, or anyone else affected,

Accepted linux-firmware into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware/1.187.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in linux-firmware (Ubuntu Focal):
status: Triaged → Fix Committed
Hui Wang (hui.wang) wrote :

Installed the linux-firmware 1.187.3, and check the /lib/firmware/intel/sof-tplg, the -1ch.tplg and -3ch.tplg are there.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1023.23

---------------
linux-oem-5.6 (5.6.0-1023.23) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1023.23 -proposed tracker (LP: #1892465)

  * CVE-2020-15852
    - x86/ioperm: Fix io bitmap invalidation on Xen PV

  * Fix non-working USB devices plugged during system sleep (LP: #1892678)
    - xhci: Do warm-reset when both CAS and XDEV_RESUME are set

  * ASPM not enabled on child devices behind VMD controller (LP: #1889384)
    - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain

  * Fix non-working Goodix touchpad after system sleep (LP: #1891998)
    - HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands

  * [SRU] Fix acpi backlight issue on some thinkpads (LP: #1892010)
    - platform/x86: thinkpad_acpi: not loading brightness_init when _BCL invalid

  * Packaging resync (LP: #1786013)
    - [Packaging] update helper scripts

 -- Timo Aaltonen <email address hidden> Tue, 25 Aug 2020 08:46:08 +0300

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware - 1.187.3

---------------
linux-firmware (1.187.3) focal; urgency=medium

  * alsa/sof: support 1 and 3 dmics (LP: #1891585)
    - SAUCE: sof-firmware: add 1ch and 3ch topology files

 -- Seth Forshee <email address hidden> Wed, 19 Aug 2020 13:17:13 -0500

Changed in linux-firmware (Ubuntu Focal):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for linux-firmware has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :
Download full text (57.9 KiB)

This bug was fixed in the package linux - 5.8.0-18.19

---------------
linux (5.8.0-18.19) groovy; urgency=medium

  * groovy/linux: 5.8.0-18.19 -proposed tracker (LP: #1893047)

  * Packaging resync (LP: #1786013)
    - update dkms package versions

  * Groovy update: v5.8.4 upstream stable release (LP: #1893048)
    - drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
    - drm/panel-simple: Fix inverted V/H SYNC for Frida FRD350H54004 panel
    - drm/ast: Remove unused code paths for AST 1180
    - drm/ast: Initialize DRAM type before posting GPU
    - khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
    - ALSA: hda: avoid reset of sdo_limit
    - ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book
    - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion
    - can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in
      j1939_tp_txtimer()
    - can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated
    - spi: Prevent adding devices below an unregistering controller
    - io_uring: find and cancel head link async work on files exit
    - mm/vunmap: add cond_resched() in vunmap_pmd_range
    - romfs: fix uninitialized memory leak in romfs_dev_read()
    - kernel/relay.c: fix memleak on destroy relay channel
    - uprobes: __replace_page() avoid BUG in munlock_vma_page()
    - squashfs: avoid bio_alloc() failure with 1Mbyte blocks
    - mm: include CMA pages in lowmem_reserve at boot
    - mm, page_alloc: fix core hung in free_pcppages_bulk()
    - ASoC: amd: renoir: restore two more registers during resume
    - RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request
    - opp: Enable resources again if they were disabled earlier
    - opp: Put opp table in dev_pm_opp_set_rate() for empty tables
    - opp: Put opp table in dev_pm_opp_set_rate() if _set_opp_bw() fails
    - ext4: do not block RWF_NOWAIT dio write on unallocated space
    - ext4: fix checking of directory entry validity for inline directories
    - jbd2: add the missing unlock_buffer() in the error path of
      jbd2_write_superblock()
    - scsi: zfcp: Fix use-after-free in request timeout handlers
    - selftests: kvm: Use a shorter encoding to clear RAX
    - s390/pci: fix zpci_bus_link_virtfn()
    - s390/pci: re-introduce zpci_remove_device()
    - s390/pci: fix PF/VF linking on hot plug
    - s390/pci: ignore stale configuration request event
    - mm/memory.c: skip spurious TLB flush for retried page fault
    - drm: amdgpu: Use the correct size when allocating memory
    - drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal
    - drm/amd/display: Fix incorrect backlight register offset for DCN
    - drm/amd/display: Fix EDID parsing after resume from suspend
    - drm/amd/display: Blank stream before destroying HDCP session
    - drm/amd/display: Fix DFPstate hang due to view port changed
    - drm/amd/display: fix pow() crashing when given base 0
    - drm/i915/pmu: Prefer drm_WARN_ON over WARN_ON
    - drm/i915: Provide the perf pmu.module
    - scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
    - scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM
  ...

Changed in linux (Ubuntu Groovy):
status: Triaged → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (42.6 KiB)

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

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

  * focal/linux: 5.4.0-48.52 -proposed tracker (LP: #1894654)

  * mm/slub kernel oops on focal kernel 5.4.0-45 (LP: #1895109)
    - SAUCE: Revert "mm/slub: fix a memory leak in sysfs_slab_add()"

  * Packaging resync (LP: #1786013)
    - update dkms package versions
    - update dkms package versions

  * Introduce the new NVIDIA 450-server and the 450 UDA series (LP: #1887674)
    - [packaging] add signed modules for nvidia 450 and 450-server

  * [UBUNTU 20.04] zPCI attach/detach issues with PF/VF linking support
    (LP: #1892849)
    - s390/pci: fix zpci_bus_link_virtfn()
    - s390/pci: re-introduce zpci_remove_device()
    - s390/pci: fix PF/VF linking on hot plug

  * [UBUNTU 20.04] kernel: s390/cpum_cf,perf: changeDFLT_CCERROR counter name
    (LP: #1891454)
    - s390/cpum_cf, perf: change DFLT_CCERROR counter name

  * [UBUNTU 20.04] zPCI: Enabling of a reserved PCI function regression
    introduced by multi-function support (LP: #1891437)
    - s390/pci: fix enabling a reserved PCI function

  * CVE-2020-12888
    - vfio/type1: Support faulting PFNMAP vmas
    - vfio-pci: Fault mmaps to enable vma tracking
    - vfio-pci: Invalidate mmaps and block MMIO access on disabled memory

  * [Hyper-V] VSS and File Copy daemons intermittently fails to start
    (LP: #1891224)
    - [Packaging] Bind hv_vss_daemon startup to hv_vss device
    - [Packaging] bind hv_fcopy_daemon startup to hv_fcopy device

  * alsa/hdmi: support nvidia mst hdmi/dp audio (LP: #1867704)
    - ALSA: hda - Rename snd_hda_pin_sense to snd_hda_jack_pin_sense
    - ALSA: hda - Add DP-MST jack support
    - ALSA: hda - Add DP-MST support for non-acomp codecs
    - ALSA: hda - Add DP-MST support for NVIDIA codecs
    - ALSA: hda: hdmi - fix regression in connect list handling
    - ALSA: hda: hdmi - fix kernel oops caused by invalid PCM idx
    - ALSA: hda: hdmi - preserve non-MST PCM routing for Intel platforms
    - ALSA: hda: hdmi - Keep old slot assignment behavior for Intel platforms
    - ALSA: hda - Fix DP-MST support for NVIDIA codecs

  * Focal update: v5.4.60 upstream stable release (LP: #1892899)
    - smb3: warn on confusing error scenario with sec=krb5
    - genirq/affinity: Make affinity setting if activated opt-in
    - genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq()
    - PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
    - PCI: Add device even if driver attach failed
    - PCI: qcom: Define some PARF params needed for ipq8064 SoC
    - PCI: qcom: Add support for tx term offset for rev 2.1.0
    - btrfs: allow use of global block reserve for balance item deletion
    - btrfs: free anon block device right after subvolume deletion
    - btrfs: don't allocate anonymous block device for user invisible roots
    - btrfs: ref-verify: fix memory leak in add_block_entry
    - btrfs: stop incremening log_batch for the log root tree when syncing log
    - btrfs: remove no longer needed use of log_writers for the log root tree
    - btrfs: don't traverse into the seed devices in show_devname
    - btrfs: open device...

Changed in linux (Ubuntu Focal):
status: Fix Committed → Fix Released
Hui Wang (hui.wang) on 2020-09-21
Changed in linux-oem-5.6 (Ubuntu):
status: Triaged → Fix Released
Changed in hwe-next:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers