linux/sound/soc/amd
Yorick Rommers 7e125889f1
ASoC: amd: acp-da7219-max98357a: don't bind on Raven/Picasso boards
The "AMDI5682" ACPI HID is matched by two AMD ASoC machine drivers:
cz-da7219-max98357a (this driver, Carrizo/Stoney) and
acp3x-alc5682-max98357 (Raven/Picasso). cz-da7219-max98357a is linked
first and probes the platform device first; its DAI links reference the
Stoney ACP, which is absent on Raven/Picasso, so its card can never be
instantiated there.

This was harmless until commit 42d99857d6 ("ASoC: core: Move all users
to deferrable card binding"): devm_snd_soc_register_card() now returns 0
for a card left pending instead of propagating -EPROBE_DEFER, so
cz_probe() succeeds and permanently binds AMDI5682. acp3x-alc5682-max98357
never binds and the internal speakers and headphone jack get no card.

Detect Raven/Picasso (and later) by the ACP3.x audio coprocessor's
dedicated PCI function (1022:15e2); Carrizo/Stoney reach the ACP through
the GPU driver and have no such device. Return -ENODEV so the driver core
continues probing AMDI5682 with acp3x-alc5682-max98357.

Fixes: 42d99857d6 ("ASoC: core: Move all users to deferrable card binding")
Cc: stable@vger.kernel.org
Signed-off-by: Yorick Rommers <yorick-rommers@hotmail.com>
Tested-by: Yorick Rommers <yorick-rommers@hotmail.com>
Link: https://patch.msgid.link/20260907121228.13754-1-yorick-rommers@hotmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
History 2026-09-08 15:59:06 +01:00
..
acp ASoC: amd: acp3x-es83xx: Add HVY-WXX9/M1060 DMI quirk 2026-08-26 15:01:55 +01:00
acp7x ASoC: amd: acp7x: add system and runtime PM ops 2026-05-22 00:15:04 +01:00
include ASoC: Add SPDX ids to many soc files 2026-02-22 23:52:20 +00:00
ps ASoC: amd: ps: replace bitwise OR with logical OR in IRQ return check 2026-07-07 23:47:18 +01:00
raven ASoC: amd: use .auto_selectable_formats 2026-07-09 18:00:09 +01:00
renoir ASoC: amd: renoir: fix disable_pdm_interrupts() to clear mask bits 2026-09-01 14:34:50 +01:00
vangogh ASoC: amd: use .auto_selectable_formats 2026-07-09 18:00:09 +01:00
yc ASoC: amd: yc: add quirk for Acer Nitro AN17-41 internal mic 2026-09-07 22:00:25 +01:00
acp-config.c ASoC: amd: acp-config: change quirks to cover all ASUS FA401EA variants 2026-08-27 00:15:37 +01:00
acp-da7219-max98357a.c ASoC: amd: acp-da7219-max98357a: don't bind on Raven/Picasso boards 2026-09-08 15:59:06 +01:00
acp-es8336.c ASoC: amd: acp-es8336: Drop unused include 2026-03-16 01:11:18 +00:00
acp-pcm-dma.c ASoC: amd: acp: pass audio_drv_data to dma_irq_handler 2026-08-13 15:50:22 +01:00
acp-rt5645.c ASoC: amd: Move to GPIO descriptors 2026-03-16 01:11:23 +00:00
acp.h ASoC: amd: add I2S MICSP instance support 2022-07-05 13:00:44 +01:00
acp3x-rt5682-max9836.c ASoC: amd: acp3x-rt5682-max9836: Drop unused include 2026-03-16 01:11:21 +00:00
Kconfig ASoC: amd: enable acp7.x drivers build 2026-05-22 00:15:03 +01:00
mach-config.h ASoC: amd: acp: add ACPI machine table for ACP7.B/7.F SOF driver 2026-07-03 17:30:46 +01:00
Makefile ASoC: amd: enable acp7.x drivers build 2026-05-22 00:15:03 +01:00