From nobody Mon Jun 8 13:29:46 2026 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7699B370D62 for ; Fri, 29 May 2026 04:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780027923; cv=none; b=rZEIxtSqQzFGXcT9EUXaIBVSeT88C9ZO7WblYvDTiibk06VXNIWiG2sI+DANVWrOwxu8C2bUXSn7FDvDG0jUTpf8s0n05JK+oie2PjCxw+w2J7hBPaiX3E9ByZGp4q8uIJ+G3yDbhbfV0xRPavdbVVAagMEp8gxL7f34c7+7680= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780027923; c=relaxed/simple; bh=hRQPW5KZDoHk+f8ou9zmuGPZVRshuGxakrPmmKo9ve8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=DpSciRt5pnMHT0RIkder3XLCIIPxbp1VfyWa6trVmiOKY8Pdx28Dwbojh+4S0F5e8OoigN2PFs6xg5cmmnJh7aUDg7NA5a+KNtRItXjRN2HlU5dXhev4D5stYzB/bmWPoEDLlzpimIdDpoh0IbX70RRq8lglCUyE6HQAr4Pqfvk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=A7OdU5pd; arc=none smtp.client-ip=209.85.215.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A7OdU5pd" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-c8173b2af32so10246423a12.0 for ; Thu, 28 May 2026 21:12:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780027922; x=1780632722; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AX/doqrwyFj9kqQj3i4hlD+1A7+yopQ7vuCHaJlszFc=; b=A7OdU5pd8Ycy8hP5xIXn8Hi20RYHsEA00cObgmW6r+okZfU5AaK82fDxekEKpJ96/G /08xuxT1JH1qYeHtAf4gWY1bswGezey9kMTYRL2isQuazebHW9bMG88YSmgbPqfKNZoC KbePTfO2J3wlLvGrwmyLZDNLKW3ulFz8wydVpzv3eDfYr+Y8YrLxTz5feO0o8UzcnjhZ LxU5i+2vAyAzTh1qBK7KnQj2nvVzmoJYtWMiomKabOKo5kjCNAn/1FJBiLJZPY2Ikj6Y PjKTeFxugBMT3rKH8uHgGlMHcRKK8LnVGT2pRlIzjudRt2insAvpd/Z+M9qJd4sgUHNU h9yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780027922; x=1780632722; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=AX/doqrwyFj9kqQj3i4hlD+1A7+yopQ7vuCHaJlszFc=; b=H6UemXMQXRThhNf+LCkaiaJLWovPawH8AAmRa1KjBSMHciJgimIbLKYQaUQFcXo1HC TaQRvQQ7+hRhX7I9QR10aYwD5EfiZsn5gHbo0CRqhFo18vEjL9t3TNhgcpZautsxdj0U lGB1TModcNax/AjNWspKGugHbrpZvr5sfdUt0G/UHSO9mztGf8fgX6Pph8lOMyvkEqiH +1GOQezMC3T32aZ8XX0HVdEVZO/REDwCjs7ClTCYfZ/1eqtbnuQZcAW0BaR+nNBShTgb oJ0zZpsME+i20FMbQ6TnwXh3Km6g6kiZble7Liq7Y1U3Qn032t4JIhAqMKOBOwzl2qcM aW0A== X-Forwarded-Encrypted: i=1; AFNElJ8Ied2XPl2lm2IperK947nbJnASHCLHjxB82lFT12RUlY0t95n/OiwqsYw0oyysKg7NHHcOm1M0JloSiNE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8HQDTJOfnCVLcb6tZDKARhLjnfKcOpqxZm/VFfNlnr7c03UJu M+gmzkHOIc8h/cubF87KT4gbtxa6HpaBiQzDrJM6mdcNRtH7041H8SWX X-Gm-Gg: Acq92OGMnUC/1Ufhih33xkPcuM+QfOrXKeNUwYqJxTcwjPBknfM/0GODxbF5+u6PUkM Og8UDEcVDPGggsbx2u6RiBEL2oEX+X03uO1yNj8u23U6fIyvo495Y+8N3QRdmYblL5VcYbYtvBf 6soaC8M5Z5APtBY8B+pTCh8ZQmQMBUPEzoFNn279QiIp/wKnvsjSMxDjggwB5zQdjkhwM+ZcI/3 JdY94J+fG9ZpK6Xct4UmOdbFvpW1ZVLfMsAWC24mEeun8l0Fvsmhe8426Aw+Qhxr/+0t9LjNnWm rjhuIX8SIbKaCBHC+5lVjGqeSFKFqQmZhwn0UNXOEfz/WWx9uPvFQUY0vN1OPxSEeXNGkNfBZAp ysdB6awH2ug+mv8wQ5EV/fRxpQvKjWEP4GNyLZ5eM6s62rg9By7Le5ltGeUVpxWk4WWa15PjC7s ARIRj4agrGZNijSNAVAVNA29pSvo8+YgEGdi903KXWKQtKOcHw0O7Um/XtoWsG21gdzWUb897NE Qd4r3vJCbZzvEu8eRyfChVzwQL32xpAQSiO95Rl6JCImo74d+XlxLzlf0F4dYUy X-Received: by 2002:a17:903:22d1:b0:2bc:810b:5c0c with SMTP id d9443c01a7336-2bf20bb2983mr16163415ad.34.1780027921550; Thu, 28 May 2026 21:12:01 -0700 (PDT) Received: from arch.tail5702ad.ts.net (ec2-3-112-56-38.ap-northeast-1.compute.amazonaws.com. [3.112.56.38]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf23c2da36sm3717895ad.69.2026.05.28.21.11.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 May 2026 21:12:01 -0700 (PDT) From: ocean X-Google-Original-From: ocean <51983215+ocean-sudo@users.noreply.github.com> To: tiwai@suse.de, perex@perex.cz Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com> Subject: [PATCH v2] ALSA: hda/conexant: fix FEVM FA880 PRO internal mic mux Date: Fri, 29 May 2026 12:11:47 +0800 Message-ID: <20260529041147.70001-1-51983215+ocean-sudo@users.noreply.github.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com> FEVM FA880 PRO mini PC uses Conexant CX20632 codec. The internal microphone is connected to pin 0x1e. In order to make it work, we need to force ADC 0x14 connection to 0x1e (connection index 3). This patch adds a new quirk CXT_FIXUP_CX20632_INTMIC to force the connection selection on initialization, and applies it for the SSID 2014:8004. Signed-off-by: Ocean Zhou <51983215+ocean-sudo@users.noreply.github.com> --- sound/pci/hda/patch_conexant.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c index 2d4094be83ab..5e2279267104 100644 --- a/sound/pci/hda/patch_conexant.c +++ b/sound/pci/hda/patch_conexant.c @@ -300,6 +300,7 @@ enum { CXT_PINCFG_SWS_JS201D, CXT_PINCFG_TOP_SPEAKER, CXT_FIXUP_HP_A_U, + CXT_FIXUP_CX20632_INTMIC, }; =20 /* for hda_fixup_thinkpad_acpi() */ @@ -343,6 +344,15 @@ static void cxt5066_increase_mic_boost(struct hda_code= c *codec, (0 << AC_AMPCAP_MUTE_SHIFT)); } =20 +static void cxt_fixup_cx20632_intmic(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action !=3D HDA_FIXUP_ACT_INIT) + return; + + /* Force ADC 0x14 to internal mic pin 0x1e (conn index 3). */ + snd_hda_codec_write(codec, 0x14, 0, AC_VERB_SET_CONNECT_SEL, 0x03); +} + static void cxt_update_headset_mode(struct hda_codec *codec) { /* The verbs used in this function were tested on a Conexant CX20751/2 co= dec. */ @@ -1035,6 +1045,10 @@ static const struct hda_fixup cxt_fixups[] =3D { .type =3D HDA_FIXUP_FUNC, .v.func =3D cxt_fixup_hp_a_u, }, + [CXT_FIXUP_CX20632_INTMIC] =3D { + .type =3D HDA_FIXUP_FUNC, + .v.func =3D cxt_fixup_cx20632_intmic, + }, }; =20 static const struct hda_quirk cxt5045_fixups[] =3D { @@ -1140,6 +1154,7 @@ static const struct hda_quirk cxt5066_fixups[] =3D { SND_PCI_QUIRK(0x1c06, 0x2011, "Lemote A1004", CXT_PINCFG_LEMOTE_A1004), SND_PCI_QUIRK(0x1c06, 0x2012, "Lemote A1205", CXT_PINCFG_LEMOTE_A1205), SND_PCI_QUIRK(0x1d05, 0x3012, "MECHREVO Wujie 15X Pro", CXT_FIXUP_HEADSET= _MIC), + SND_PCI_QUIRK(0x2014, 0x8004, "FEVM FA880 PRO", CXT_FIXUP_CX20632_INTMIC), HDA_CODEC_QUIRK(0x2782, 0x12c3, "Sirius Gen1", CXT_PINCFG_TOP_SPEAKER), HDA_CODEC_QUIRK(0x2782, 0x12c5, "Sirius Gen2", CXT_PINCFG_TOP_SPEAKER), {} @@ -1165,6 +1180,7 @@ static const struct hda_model_fixup cxt5066_fixup_mod= els[] =3D { { .id =3D CXT_PINCFG_TOP_SPEAKER, .name =3D "sirius-top-speaker" }, { .id =3D CXT_FIXUP_HP_A_U, .name =3D "HP-U-support" }, + { .id =3D CXT_FIXUP_CX20632_INTMIC, .name =3D "cx20632-intmic" }, {} };