Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 777537 - sys-firmware/sof-firmware-1.6.1 version bump
Summary: sys-firmware/sof-firmware-1.6.1 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo ALSA team [DISABLED]
URL:
Whiteboard:
Keywords: PATCH, PullRequest
Depends on:
Blocks:
 
Reported: 2021-03-21 15:45 UTC by Joakim Tjernlund
Modified: 2021-05-09 01:18 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Suggested patch (sof-firmware-1.6.1.ebuild.patch,634 bytes, patch)
2021-03-25 12:03 UTC, Ulf Norberg
Details | Diff
1.6.1 patch with set -e (sof-firmware-1.6.1.patch,552 bytes, patch)
2021-04-27 17:58 UTC, Andrea
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joakim Tjernlund 2021-03-21 15:45:30 UTC
The old 1.5.1 seems a bit buggy, please update to 1.6.1
I had to change a little for 1.6.1 though:
		-e 's/ROOT=/:/' \
		-e "s/SOF_VERSION=.*/SOF_VERSION=v${PV}/" go.sh || die
Comment 1 Joakim Tjernlund 2021-03-21 22:08:33 UTC
For reference, here is the bug I seen:

Analog Playback and Capture: ASoC: hw_params BE failed -110
[Sun Mar 21 16:03:57 2021]  HDA Analog: ASoC: hw_params BE failed -110
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: error: ipc timed out for 0x80010000 size 216
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: status: fw entered - code 00000005
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: error: can't enter idle
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: error: trace point 00004000
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: error: panic at src/lib/agent.c:62
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: error: DSP Firmware Oops
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: EXCCAUSE 0x0000003f EXCVADDR 0x00000000 PS       0x00060725 SAR     0x00000000
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: EPC1     0x00000000 EPC2     0xbe00d1fe EPC3     0x00000000 EPC4    0x00000000
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: EPC5     0x00000000 EPC6     0x00000000 EPC7     0x00000000 DEPC    0x00000000
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: EPS2     0x00060d20 EPS3     0x00000000 EPS4     0x00000000 EPS5    0x00000000
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: EPS6     0x00000000 EPS7     0x00000000 INTENABL 0x00000000 INTERRU 0x00000222
[Sun Mar 21 16:03:57 2021] sof-audio-pci 0000:00:1f.3: stack dump from 0xbe05a110
Comment 2 Ulf Norberg 2021-03-25 12:03:03 UTC
Created attachment 693438 [details, diff]
Suggested patch
Comment 3 Joakim Tjernlund 2021-04-14 12:36:38 UTC
ping?
Comment 4 Stefan Schmid 2021-04-14 17:22:50 UTC
In the meantime even version 1.7 has been released, a suitable ebuild for it would be really nice.

Some things are missing in the versions currently available in Portage.
See: https://thesofproject.github.io/latest/getting_started/intel_debug/introduction.html#user-space-and-filesystem-requirements
Comment 5 Joakim Tjernlund 2021-04-14 18:10:38 UTC
(In reply to Stefan Schmid from comment #4)
> In the meantime even version 1.7 has been released, a suitable ebuild for it
> would be really nice.

I saw that, could be interesting but the go.sh is broken and should not be used in 1.7.x and will be removed. 

> 
> Some things are missing in the versions currently available in Portage.
> See:
> https://thesofproject.github.io/latest/getting_started/intel_debug/
> introduction.html#user-space-and-filesystem-requirements

Mind detailing what is missing ?
Comment 6 Stefan Schmid 2021-04-14 18:26:44 UTC
(In reply to Joakim Tjernlund from comment #5)
> > Some things are missing in the versions currently available in Portage.
> > See:
> > https://thesofproject.github.io/latest/getting_started/intel_debug/
> > introduction.html#user-space-and-filesystem-requirements
> 
> Mind detailing what is missing ?

For example the firmware file "/lib/firmware/intel/sof/sof-tgl.ri" which is mentioned in the linked article?

I've been trying for weeks to get this "Soundwire/SOF/Alsa" thing to work and although I have everything active in the kernel that is necessary for this, it doesn't work.
Comment 7 Joakim Tjernlund 2021-04-14 19:14:01 UTC
(In reply to Stefan Schmid from comment #6)
> (In reply to Joakim Tjernlund from comment #5)
> > > Some things are missing in the versions currently available in Portage.
> > > See:
> > > https://thesofproject.github.io/latest/getting_started/intel_debug/
> > > introduction.html#user-space-and-filesystem-requirements
> > 
> > Mind detailing what is missing ?
> 
> For example the firmware file "/lib/firmware/intel/sof/sof-tgl.ri" which is
> mentioned in the linked article?

qlist sof-firmware | grep sof-tgl.ri
/lib/firmware/intel/sof/sof-tgl.ri
/lib/firmware/intel/sof/community/sof-tgl.ri

I got it, SOF-FW 1.6.1

> 
> I've been trying for weeks to get this "Soundwire/SOF/Alsa" thing to work
> and although I have everything active in the kernel that is necessary for
> this, it doesn't work.

hehe, I had a hard time getting all the kernel parts right, ended up with a lot:
 
zcat /proc/config.gz | grep SOF
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
# CONFIG_MEM_SOFT_DIRTY is not set
CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
# CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH is not set
CONFIG_SND_SOC_SOF_TOPLEVEL=y
CONFIG_SND_SOC_SOF_PCI=m
CONFIG_SND_SOC_SOF_ACPI=m
CONFIG_SND_SOC_SOF_DEBUG_PROBES=y
# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set
CONFIG_SND_SOC_SOF=m
CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_INTEL_ACPI=m
CONFIG_SND_SOC_SOF_INTEL_PCI=m
CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
CONFIG_SND_SOC_SOF_INTEL_COMMON=m
CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT=y
CONFIG_SND_SOC_SOF_BROADWELL=m
CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_APOLLOLAKE=m
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE=m
CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_CANNONLAKE=m
CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COFFEELAKE=m
CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_ICELAKE=m
CONFIG_SND_SOC_SOF_COMETLAKE=m
CONFIG_SND_SOC_SOF_COMETLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_TIGERLAKE=m
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_ELKHARTLAKE=m
CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
CONFIG_SND_SOC_SOF_HDA_COMMON=m
CONFIG_SND_SOC_SOF_HDA_LINK=y
CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
CONFIG_SND_SOC_SOF_HDA_PROBES=y
CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1=y
CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
CONFIG_SND_SOC_SOF_HDA=m
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK=y
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_XTENSA=m
CONFIG_HID_MICROSOFT=y
CONFIG_ZISOFS=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
# CONFIG_IRQSOFF_TRACER is not set
Comment 8 Joakim Tjernlund 2021-04-14 19:18:53 UTC
my ebuild diff:
--- /usr/portage/sys-firmware/sof-firmware/sof-firmware-1.5.1.ebuild	2020-10-18 17:39:18.000000000 +0200
+++ /var/lib/layman/transmode/sys-firmware/sof-firmware/sof-firmware-1.6.1.ebuild	2021-03-21 16:47:20.285665493 +0100
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -16,12 +16,13 @@
 S=${WORKDIR}/sof-bin-stable-v${PV}
 
 src_compile() {
-	sed -i -e '1i #!/bin/bash\nset -e' \
-		   -e '/^ROOT=/d' \
-		   -e "s/^VERSION=.*/VERSION=v${PV}/" go.sh || die
+	sed -i -e '1i #!/bin/bash\nset' \
+		-e 's/ROOT=/:/' \
+		-e "s/SOF_VERSION=.*/SOF_VERSION=v${PV}/" go.sh || die
 }
 
 src_install() {
 	mkdir -p ${D}/lib/firmware || die
+	cd ${S}
 	ROOT=${D} ${S}/go.sh || die
 }
Comment 9 Andrea 2021-04-27 17:57:41 UTC
FYI, you need to manually upgrade to pulseaudio 14.2 from an overlay too, for sof-firmware kernel parts to work correctly. Didn't try without pulseaudio though.

Before I noticed that I also tried to upgrade to the stable 1.6.1 first.. my patch retained the set -e which doesn't look a bad idea so I can as well attach it.
Comment 10 Andrea 2021-04-27 17:58:05 UTC
Created attachment 702741 [details, diff]
1.6.1 patch with set -e
Comment 11 Andrea 2021-04-27 18:02:14 UTC
(In reply to Stefan Schmid from comment #6)
> (In reply to Joakim Tjernlund from comment #5)
> > > Some things are missing in the versions currently available in Portage.
> > > See:
> > > https://thesofproject.github.io/latest/getting_started/intel_debug/
> > > introduction.html#user-space-and-filesystem-requirements
> > 
> > Mind detailing what is missing ?
> 
> For example the firmware file "/lib/firmware/intel/sof/sof-tgl.ri" which is
> mentioned in the linked article?
> 
> I've been trying for weeks to get this "Soundwire/SOF/Alsa" thing to work
> and although I have everything active in the kernel that is necessary for
> this, it doesn't work.

Same issue here, you should try again pulseaudio 14.2. I found it in a blog post that gentoo pulseaudio was too old for sof-firmware kernel parts, it took 10 seconds to fix it with a "ebuild pulseaudio-14.2.ebuild merge" without even rebooting.

Getting the kernel parts right is a mess, by default it's even wasting RAM keeping the old kernel modules loaded for no good (they need to be manually blacklisted to save some RAM), but it's not worth touching the kernel parts and firmware until you got the pulseaudio upgraded.. I also wasted some time.
Comment 12 Joakim Tjernlund 2021-04-27 18:33:19 UTC
ALSA team, SOF HW is getting common and really need 1.6.1 or better. Please update the tree.
Comment 13 Larry the Git Cow gentoo-dev 2021-05-08 16:03:12 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ef5b680c65973c26199010dda6ad1cef3143176

commit 3ef5b680c65973c26199010dda6ad1cef3143176
Author:     Simon van der Veldt <simon.vanderveldt+gentoo@gmail.com>
AuthorDate: 2021-05-01 18:50:01 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2021-05-08 16:03:04 +0000

    sys-firmware/sof-firmware: Bump to 1.6.1
    
    Closes: https://bugs.gentoo.org/777537
    Closes: https://github.com/gentoo/gentoo/pull/20638
    Signed-off-by: Simon van der Veldt <simon.vanderveldt+gentoo@gmail.com>
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 sys-firmware/sof-firmware/Manifest                 |  1 +
 .../sof-firmware/sof-firmware-1.6.1.ebuild         | 25 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)