alsa/sof: load different firmware on different platforms

Bug #1857409 reported by Hui Wang
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Unassigned
OEM Priority Project
Fix Released
Undecided
cktenn
linux (Ubuntu)
Fix Released
Medium
Hui Wang
Eoan
Fix Released
Medium
Unassigned
Focal
Fix Released
Medium
Hui Wang
linux-oem-osp1 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Medium
Unassigned

Bug Description

[Impact]
In our ubuntu kernel, the sof driver will load the sof-cnl.ri (firmware)
on all platforms, but mainline kernel already supported the multi
firmwares on differnt platforms, and OEM project needs us to
support the mutli-firmware names in the ubuntu kernel

[Fix]
cherry-pick 3 upstream patches, then on cnl platforms, it will
load sof-cnl.ri, on cml platfomrs, it will load sof-cml.ri, on cfl
platforms, it will load sof-cfl.ri

[Test Case]
Prepare the firmware from https://github.com/thesofproject/linux-firmware
master branch, then boot the kernel with these patches.

[Regression Risk]
Low, just let different platforms load differnt firmware, and these
patches are in the upstream kernel.

CVE References

Hui Wang (hui.wang)
Changed in linux (Ubuntu):
importance: Undecided → Critical
tags: added: originate-from-1856130 somerville
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1857409

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Hui Wang (hui.wang)
description: updated
no longer affects: linux-oem (Ubuntu)
Changed in linux-oem-osp1 (Ubuntu Focal):
status: New → Invalid
Changed in linux-oem-osp1 (Ubuntu Eoan):
status: New → Invalid
no longer affects: linux-oem-osp1 (Ubuntu Eoan)
no longer affects: linux-oem-osp1 (Ubuntu Focal)
no longer affects: linux (Ubuntu Bionic)
Changed in linux (Ubuntu Focal):
status: Incomplete → Confirmed
Changed in linux (Ubuntu Eoan):
status: New → Confirmed
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: New → Confirmed
Stefan Bader (smb)
Changed in linux-oem-osp1 (Ubuntu Bionic):
importance: Undecided → Critical
Changed in linux (Ubuntu Focal):
importance: Critical → Medium
Changed in linux (Ubuntu Eoan):
importance: Undecided → Medium
Changed in linux (Ubuntu Eoan):
status: Confirmed → Fix Committed
Timo Aaltonen (tjaalton)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Confirmed → Fix Committed
cktenn (cktenn)
affects: linux → oem-priority
Changed in oem-priority:
assignee: nobody → Che Cheng (cktenn)
Revision history for this message
Marcelo Cerri (mhcerri) wrote :

I dropped the patches from the eoan:linux master-next branch due to the regression reported in #1860642

Changed in linux (Ubuntu Eoan):
status: Fix Committed → Confirmed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

same for osp1

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  * bionic/linux-oem-osp1: 5.0.0-1037.42 -proposed tracker (LP: #1860784)

  * [Dell Vostro 5490] proposed linux-oem-osp1 suspend resume fails
    (LP: #1860642)
    - Revert "ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names."
    - Revert "ASoC: Intel: acpi-match: split CNL tables in three"
    - Revert "ASoC: SOF: Intel: hda: use fallback for firmware name"

 -- Timo Aaltonen <email address hidden> Fri, 24 Jan 2020 15:02:03 +0200

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Confirmed → Fix Released
Changed in linux-oem-osp1 (Ubuntu):
status: Invalid → Fix Released
Revision history for this message
Hui Wang (hui.wang) wrote :

The patches are merged to osp1 kernel from 1034 and are reverted from 1037. Will resubmit the patches after getting the fixing patches.

Revision history for this message
Rex Tsai (chihchun) wrote :

The patch has been reverted by https://bugs.launchpad.net/bugs/1860642

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Released → Confirmed
Revision history for this message
Hui Wang (hui.wang) wrote :

Intel (Mengdong@Intel) told us it is too complicated to backport the fixing patches to 5.0-oem-osp1 kernel, and these 3 patches are not very important. we will not backport these 3 patches to osp1 kernel until Intel backport the fixing patches to osp1 kernel.

Set it to Medium first.

Changed in linux-oem-osp1 (Ubuntu Bionic):
importance: Critical → Medium
Revision history for this message
Rex Tsai (chihchun) wrote :

Hi, Hui

I think we have misalignment here, there are two set of patches

1. The patch to load the firmware from the different path (the patches are reverted by LP #1860642.
2. The patch to fix hanging issues when sof_probe_continue() is failed[2].

Intel (Mengdong@Intel) is not planning to backport [2]patches to sof-v5.0 and mainline-kernel-5.3.

But Canonical should still be able to land[1] patches to load the firmware from the different path, isn't it? We need to align how we plan to to ship the firmware, and in which version of path.

[1] https://bugs.launchpad.net/bugs/1860642
[2] Fix sof core error handling (v3, alternative to R1743/1745) by kv2019i · Pull Request #1746 · thesofproject/linux - https://github.com/thesofproject/linux/pull/1746/commits

Revision history for this message
Hui Wang (hui.wang) wrote :

@ Rex,

If we apply the [1], it will make users easily reproduce the [2], that is why kernel maintainer reverted the [1].

I thought I backport the [2] to the kernel first, then backport [1] to the kernel, I tried to backport the [2] to the osp1 kernel myself, but it didn't work at all, so I asked for help to Intel, they estimated a couple of days then tell me it is not easy and they will not help backport the [2] to 5.0 and 5.3, and without [1], the dmic function will not be affected.

About the linux-firmware, already sru them to Eoan and Bionic with this bug: https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1859387, the firmware under Eoan and Bionic can support the kernel both with [1] and without [1].

Because this bug will not affect the dmic function, just lower the priority, when I finish the more urgent bug, I will spend more time investigating backport [2], then resend the patch [1].

AceLan Kao (acelankao)
Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Confirmed → Fix Committed
Revision history for this message
Hui Wang (hui.wang) wrote :

Because we already merged the fix for #1861837, it is safe to merge
these patchset, so I resent those patches on Mar 3.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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
Seth Forshee (sforshee)
Changed in linux (Ubuntu Focal):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Eoan):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (81.5 KiB)

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

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

  * focal/linux: 5.4.0-18.22 -proposed tracker (LP: #1866488)

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

  * Add sysfs attribute to show remapped NVMe (LP: #1863621)
    - SAUCE: ata: ahci: Add sysfs attribute to show remapped NVMe device count

  * [20.04 FEAT] Compression improvements in Linux kernel (LP: #1830208)
    - lib/zlib: add s390 hardware support for kernel zlib_deflate
    - s390/boot: rename HEAP_SIZE due to name collision
    - lib/zlib: add s390 hardware support for kernel zlib_inflate
    - s390/boot: add dfltcc= kernel command line parameter
    - lib/zlib: add zlib_deflate_dfltcc_enabled() function
    - btrfs: use larger zlib buffer for s390 hardware compression
    - [Config] Introducing s390x specific kernel config option CONFIG_ZLIB_DFLTCC

  * [UBUNTU 20.04] s390x/pci: increase CONFIG_PCI_NR_FUNCTIONS to 512 in kernel
    config (LP: #1866056)
    - [Config] Increase CONFIG_PCI_NR_FUNCTIONS from 64 to 512 starting with focal
      on s390x

  * CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set (LP: #1865332)
    - [Config] CONFIG_IP_MROUTE_MULTIPLE_TABLES=y

  * Dell XPS 13 9300 Intel 1650S wifi [34f0:1651] fails to load firmware
    (LP: #1865962)
    - iwlwifi: remove IWL_DEVICE_22560/IWL_DEVICE_FAMILY_22560
    - iwlwifi: 22000: fix some indentation
    - iwlwifi: pcie: rx: use rxq queue_size instead of constant
    - iwlwifi: allocate more receive buffers for HE devices
    - iwlwifi: remove some outdated iwl22000 configurations
    - iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg

  * [FOCAL][REGRESSION] Intel Gen 9 brightness cannot be controlled
    (LP: #1861521)
    - Revert "USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision
      4K sku"
    - Revert "UBUNTU: SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd
      Gen 4K AMOLED panel"
    - SAUCE: drm/dp: Introduce EDID-based quirks
    - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED
      panel
    - SAUCE: drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels

  * [20.04 FEAT] Enable proper kprobes on ftrace support (LP: #1865858)
    - s390/ftrace: save traced function caller
    - s390: support KPROBES_ON_FTRACE

  * alsa/sof: load different firmware on different platforms (LP: #1857409)
    - ASoC: SOF: Intel: hda: use fallback for firmware name
    - ASoC: Intel: acpi-match: split CNL tables in three
    - ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary names.

  * [UBUNTU 20.04] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x
    starting with focal (LP: #1865452)
    - [Config] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x starting
      with focal

  * Focal update: v5.4.24 upstream stable release (LP: #1866333)
    - io_uring: grab ->fs as part of async offload
    - EDAC: skx_common: downgrade message importance on missing PCI device
    - net: dsa: b53: Ensure the default VID is untagged
    - net: fib_rules: Correctly set table field when table number exceeds 8 bit...

Changed in linux (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

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
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

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

  * bionic/linux-oem-osp1: 5.0.0-1043.48 -proposed tracker (LP: #1867111)

  * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3
    (LP: #1866734)
    - SAUCE: Input: i8042 - Fix the selftest retry logic

  * r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC
    during hotplug (LP: #1864284)
    - UBUNTU SAUCE: r8151: check disconnect status after long sleep

  * Miscellaneous Ubuntu changes
    - [Config] Bump the GCC version

 -- Timo Aaltonen <email address hidden> Thu, 12 Mar 2020 11:14:40 +0200

Changed in linux-oem-osp1 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (49.1 KiB)

This bug was fixed in the package linux - 5.3.0-46.38

---------------
linux (5.3.0-46.38) eoan; urgency=medium

  * eoan/linux: 5.3.0-43.36 -proposed tracker (LP: #1867301)

  * Fix AMD Stoney Ridge screen flickering under 4K resolution (LP: #1864005)
    - iommu/amd: Disable IOMMU on Stoney Ridge systems

  * Allow BPF tracing under lockdown (LP: #1868626)
    - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down kprobes"
    - Revert "bpf: Restrict bpf when kernel lockdown is in confidentiality mode"

  * Missing wireless network interface after kernel 5.3.0-43 upgrade with eoan
    (LP: #1868442)
    - iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices

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

  * iSCSI-target: Deleting a LUN hangs in the kernel (LP: #1862682)
    - scsi: Revert "target/core: Inline transport_lun_remove_cmd()"

  * Stop using get_scalar_status command in Dell AIO uart backlight driver
    (LP: #1865402)
    - SAUCE: platform/x86: dell-uart-backlight: add get_display_mode command

  * Eoan update: upstream stable patchset 2020-03-11 (LP: #1867051)
    - Revert "drm/sun4i: dsi: Change the start delay calculation"
    - ovl: fix lseek overflow on 32bit
    - kernel/module: Fix memleak in module_add_modinfo_attrs()
    - media: iguanair: fix endpoint sanity check
    - ocfs2: fix oops when writing cloned file
    - x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR
    - udf: Allow writing to 'Rewritable' partitions
    - printk: fix exclusive_console replaying
    - iwlwifi: mvm: fix NVM check for 3168 devices
    - sparc32: fix struct ipc64_perm type definition
    - cls_rsvp: fix rsvp_policy
    - gtp: use __GFP_NOWARN to avoid memalloc warning
    - l2tp: Allow duplicate session creation with UDP
    - net: hsr: fix possible NULL deref in hsr_handle_frame()
    - net_sched: fix an OOB access in cls_tcindex
    - net: stmmac: Delete txtimer in suspend()
    - bnxt_en: Fix TC queue mapping.
    - tcp: clear tp->total_retrans in tcp_disconnect()
    - tcp: clear tp->delivered in tcp_disconnect()
    - tcp: clear tp->data_segs{in|out} in tcp_disconnect()
    - tcp: clear tp->segs_{in|out} in tcp_disconnect()
    - rxrpc: Fix use-after-free in rxrpc_put_local()
    - rxrpc: Fix insufficient receive notification generation
    - rxrpc: Fix missing active use pinning of rxrpc_local object
    - rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect
    - media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors
    - mfd: dln2: More sanity checking for endpoints
    - ipc/msg.c: consolidate all xxxctl_down() functions
    - tracing: Fix sched switch start/stop refcount racy updates
    - rcu: Avoid data-race in rcu_gp_fqs_check_wake()
    - brcmfmac: Fix memory leak in brcmf_usbdev_qinit
    - usb: typec: tcpci: mask event interrupts when remove driver
    - usb: gadget: legacy: set max_speed to super-speed
    - usb: gadget: f_ncm: Use atomic_t to track in-flight request
    - usb: gadget: f_ecm: Use atomic_t to track in-flight request
    - ALSA: usb-audio: Fix endianess in descriptor validatio...

Changed in linux (Ubuntu Eoan):
status: Fix Committed → Fix Released
Rex Tsai (chihchun)
tags: added: oem-priority
Changed in oem-priority:
status: New → Fix Released
Changed in hwe-next:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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