Skip to content

Commit 4d101d9

Browse files
mstrozekSasha Levin
authored andcommitted
ASoC: intel: sof_sdw: Prepare for configuration without a jack
[ Upstream commit d733fb4 ] In certain setups of cs42l43 UAJ function may be removed from ACPI and physically unconnected. Prepare a driver for that configuration by setting a system clock in the speaker path too. Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com> Link: https://patch.msgid.link/20260403082335.40798-1-mstrozek@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org> Stable-dep-of: 5a30862 ("ASoC: sdw_utils: Check speaker component string allocation") Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent a660e25 commit 4d101d9

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

sound/soc/sdw_utils/soc_sdw_cs42l43.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ EXPORT_SYMBOL_NS(asoc_sdw_cs42l43_hs_rtd_init, "SND_SOC_SDW_UTILS");
107107

108108
int asoc_sdw_cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_soc_dai *dai)
109109
{
110+
struct snd_soc_component *component = snd_soc_rtd_to_codec(rtd, 0)->component;
110111
struct snd_soc_card *card = rtd->card;
111112
struct snd_soc_dapm_context *dapm = snd_soc_card_to_dapm(card);
112113
struct asoc_sdw_mc_private *ctx = snd_soc_card_get_drvdata(card);
@@ -131,8 +132,15 @@ int asoc_sdw_cs42l43_spk_rtd_init(struct snd_soc_pcm_runtime *rtd, struct snd_so
131132

132133
ret = snd_soc_dapm_add_routes(dapm, cs42l43_spk_map,
133134
ARRAY_SIZE(cs42l43_spk_map));
134-
if (ret)
135+
if (ret) {
135136
dev_err(card->dev, "cs42l43 speaker map addition failed: %d\n", ret);
137+
return ret;
138+
}
139+
140+
ret = snd_soc_component_set_sysclk(component, CS42L43_SYSCLK, CS42L43_SYSCLK_SDW,
141+
0, SND_SOC_CLOCK_IN);
142+
if (ret)
143+
dev_err(card->dev, "Failed to set sysclk: %d\n", ret);
136144

137145
return ret;
138146
}

0 commit comments

Comments
 (0)