From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
To: "Guilherme G. Piccoli" <gpiccoli@igalia.com>,
linux-sound@vger.kernel.org
Cc: Vijendar.Mukunda@amd.com, venkataprasad.potturu@amd.com,
lgirdwood@gmail.com, broonie@kernel.org, perex@perex.cz,
tiwai@suse.com, linux-kernel@vger.kernel.org,
kernel-dev@igalia.com, kernel@gpiccoli.net,
Mario Limonciello <mario.limonciello@amd.com>,
Robert Beckett <bob.beckett@collabora.com>,
Umang Jain <uajain@igalia.com>, Melissa Wen <mwen@igalia.com>
Subject: Re: [PATCH] ASoC: amd: acp: Add DMI quirk for Valve Steam Deck OLED
Date: Tue, 21 Apr 2026 23:18:50 +0300 [thread overview]
Message-ID: <e27dfa2e-ebe9-4cc4-a2ab-6f1f8140bbdc@collabora.com> (raw)
In-Reply-To: <20260421192214.77819-1-gpiccoli@igalia.com>
Hi Guilherme,
On 4/21/26 10:17 PM, Guilherme G. Piccoli wrote:
> Commit 671dd2ffbd8b ("ASoC: amd: acp: Add new cpu dai and dailink creation for I2S BT instance")
> introduced a change that "broke" Steam Deck's audio probe, in the OLED
> model, as observed in the following dmesg snippet:
>
> [...]
> snd_sof_amd_vangogh 0000:04:00.5: Topology: ABI 3:26:0 Kernel ABI 3:23:1
> sof_mach nau8821-max: ASoC: physical link acp-bt-codec (id 2) not exist
> sof_mach nau8821-max: ASoC: topology: could not load header: -22
> snd_sof_amd_vangogh 0000:04:00.5: tplg amd/sof-tplg/sof-vangogh-nau8821-max.tplg component load failed -22
> snd_sof_amd_vangogh 0000:04:00.5: error: failed to load DSP topology -22
> snd_sof_amd_vangogh 0000:04:00.5: ASoC error (-22): at snd_soc_component_probe() on 0000:04:00.5
> sof_mach nau8821-max: ASoC: failed to instantiate card -22
> sof_mach nau8821-max: error -EINVAL: Failed to register card(sof-nau8821-max)
> sof_mach nau8821-max: probe with driver sof_mach failed with error -22
> [...]
>
> Notice the quotes in "broke": it's not really a bug in such commit,
> but instead a problem with a topology file from Steam Deck OLED. This
> was discussed to great extent in [1], and Cristian proposed a pretty
> simple and functional change that resolved the issue for the Deck's
> issue. That change, though, would break other devices, so it wasn't
> accepted upstream. And the proper suggested solution (fix the topology)
> was never implemented, so Valve's kernel (and anyone that wants to boot
> the mainline on Steam Deck OLED) is carrying that fix downstream.
>
> So, we propose hereby a different approach: a DMI quirk, as many already
> present in the sound drivers, to address this issue solely on Steam Deck
> OLED, not breaking other devices and as a bonus, allowing simple patch
> up in case eventually the topology file gets fixed (we'd just need to
> check against any DMI info reflecting that or the topology/FW versions).
>
> The motivation of such upstream quirk is related to users that want
> to test latest kernel trees on their devices and get no only non-working
> sound device, but seems some games (like Ori and the Blind Forest)
> can't properly work without a proper functional audio device.
> Example of such report can be seen at [2].
[...]
> diff --git a/sound/soc/amd/acp/acp-mach.h b/sound/soc/amd/acp/acp-mach.h
> index f94c30c20f20..edf5e479afd4 100644
> --- a/sound/soc/amd/acp/acp-mach.h
> +++ b/sound/soc/amd/acp/acp-mach.h
> @@ -26,6 +26,10 @@
>
> #define acp_get_drvdata(card) ((struct acp_card_drvdata *)(card)->drvdata)
>
> +/* List of DMI quirks - check acp-mach-common.c for usage. */
> +#define TDM_MODE_ENABLE 1
> +#define REMAP_DMIC_BT 2
Since the list of quirks may grow over time, it might be worth differentiating
these macros from the common ones — either by adding a `QUIRK_` prefix (or
similar), or better yet, turning them into an enum?!
Regardless,
Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
next prev parent reply other threads:[~2026-04-21 20:19 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 19:17 [PATCH] ASoC: amd: acp: Add DMI quirk for Valve Steam Deck OLED Guilherme G. Piccoli
2026-04-21 19:24 ` Mario Limonciello
2026-04-21 20:18 ` Cristian Ciocaltea [this message]
2026-04-21 20:23 ` Guilherme G. Piccoli
2026-04-22 12:14 ` Mark Brown
2026-04-23 18:37 ` Guilherme G. Piccoli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e27dfa2e-ebe9-4cc4-a2ab-6f1f8140bbdc@collabora.com \
--to=cristian.ciocaltea@collabora.com \
--cc=Vijendar.Mukunda@amd.com \
--cc=bob.beckett@collabora.com \
--cc=broonie@kernel.org \
--cc=gpiccoli@igalia.com \
--cc=kernel-dev@igalia.com \
--cc=kernel@gpiccoli.net \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mwen@igalia.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
--cc=uajain@igalia.com \
--cc=venkataprasad.potturu@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox