Skip to content

Commit 390caee

Browse files
coleleavittbroonie
authored andcommitted
ASoC: sdw_utils: cs42l43: Enable Headphone pin for LINEOUT jack type
The CS42L43 codec's load detection can return different impedance values that map to either HEADPHONE or LINEOUT jack types. However, the soc_jack_pins array only maps SND_JACK_HEADPHONE to the "Headphone" DAPM pin, not SND_JACK_LINEOUT. When headphones are detected with an impedance that maps to LINEOUT (such as impedance value 0x2), the driver reports SND_JACK_LINEOUT. Since this doesn't match the jack pin mask, the "Headphone" DAPM pin is not activated, and no audio is routed to the headphone outputs. Fix by adding SND_JACK_LINEOUT to the Headphone pin mask, so that both headphone and line-out detection properly enable the headphone output path. This fixes no audio output on devices like the Lenovo ThinkPad P16 Gen 3 where headphones are detected with LINEOUT impedance. Fixes: d74bad3 ("ASoC: intel: sof_sdw_cs42l43: Create separate jacks for hp and mic") Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Cole Leavitt <cole@unwrap.rs> Link: https://patch.msgid.link/20260114025518.28519-1-cole@unwrap.rs Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent bc5a847 commit 390caee

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

sound/soc/sdw_utils/soc_sdw_cs42l43.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static const struct snd_soc_dapm_route cs42l43_dmic_map[] = {
4444
static struct snd_soc_jack_pin soc_jack_pins[] = {
4545
{
4646
.pin = "Headphone",
47-
.mask = SND_JACK_HEADPHONE,
47+
.mask = SND_JACK_HEADPHONE | SND_JACK_LINEOUT,
4848
},
4949
{
5050
.pin = "Headset Mic",

0 commit comments

Comments
 (0)