Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: amd: use new ACP dev names for DAI links

On AMD SoC platforms with an ACP2x gpu ip block (such as stoneyridge),
the amdgpu driver will create several platform devices for the ACP ASoC
driver to communicate with the ACP hardware block on the gpu. These
platform devices include dma for audio and one or multiple i2s
interfaces. The amdgpu driver has always created these platform devices
with automatic ids. The ASoC machine drives hardcode the platform device
name. This creates an issue where if the ACP platform devices are not
the first to be created, the ids can be different to what the machine
drivers expect, causing them to not find the ACP platform devices and
failing to load. Switch to using static ids for these ACP platform
devices so that the names never change.

Depends on patch: drm/amdgpu: use static ids for ACP platform devs [1]

[1] https://lore.kernel.org/all/20250325210517.2097188-1-bradynorander@gmail.com/

Signed-off-by: Brady Norander <bradynorander@gmail.com>
Link: https://patch.msgid.link/20250330130844.37870-2-bradynorander@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Brady Norander and committed by
Mark Brown
51590571 0e4e9d75

+9 -9
+4 -4
sound/soc/amd/acp-da7219-max98357a.c
··· 517 517 }; 518 518 519 519 SND_SOC_DAILINK_DEF(designware1, 520 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.1.auto"))); 520 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.1"))); 521 521 SND_SOC_DAILINK_DEF(designware2, 522 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.2.auto"))); 522 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.2"))); 523 523 SND_SOC_DAILINK_DEF(designware3, 524 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.3.auto"))); 524 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.3"))); 525 525 526 526 SND_SOC_DAILINK_DEF(dlgs, 527 527 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-DLGS7219:00", "da7219-hifi"))); ··· 533 533 DAILINK_COMP_ARRAY(COMP_CODEC("ADAU7002:00", "adau7002-hifi"))); 534 534 535 535 SND_SOC_DAILINK_DEF(platform, 536 - DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.0.auto"))); 536 + DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.0"))); 537 537 538 538 static struct snd_soc_dai_link cz_dai_7219_98357[] = { 539 539 {
+2 -2
sound/soc/amd/acp-es8336.c
··· 137 137 }; 138 138 139 139 SND_SOC_DAILINK_DEF(designware1, 140 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.2.auto"))); 140 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.1"))); 141 141 SND_SOC_DAILINK_DEF(codec, 142 142 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-ESSX8336:00", "ES8316 HiFi"))); 143 143 SND_SOC_DAILINK_DEF(platform, 144 - DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.1.auto"))); 144 + DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.0"))); 145 145 146 146 static struct snd_soc_dai_link st_dai_es8336[] = { 147 147 {
+3 -3
sound/soc/amd/acp-rt5645.c
··· 108 108 }; 109 109 110 110 SND_SOC_DAILINK_DEF(designware1, 111 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.1.auto"))); 111 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.1"))); 112 112 SND_SOC_DAILINK_DEF(designware2, 113 - DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.2.auto"))); 113 + DAILINK_COMP_ARRAY(COMP_CPU("designware-i2s.2"))); 114 114 115 115 SND_SOC_DAILINK_DEF(codec, 116 116 DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5650:00", "rt5645-aif1"))); 117 117 118 118 SND_SOC_DAILINK_DEF(platform, 119 - DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.0.auto"))); 119 + DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_audio_dma.0"))); 120 120 121 121 static struct snd_soc_dai_link cz_dai_rt5650[] = { 122 122 {