From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 DA26521D591 for ; Sat, 25 Jul 2026 14:03:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784988190; cv=none; b=pBb9o0i43wS7ytBoY5AOJT55SHO/xZizbwanOBqZl0X9Y42ZXe7FnHkwotfZiTETjhxA4R9fRLmgDmwNG4NM9dGnnswkmZz0uv8GXiNZNOhtSPLz3QcLKI2LteC3MdoZU1/0wxHhYC7GAwWtXfB2mCjEY+ug15tsgXRzuaWPapo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784988190; c=relaxed/simple; bh=rqM+bHp5dc01oSVIdNaDGVvxy/3DKX+PpaJWPk6k17Q=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TptyVIWblLTNbEdUDj1QY5NsuZJRm8CiMAmLmENUB4CJ+eEQeU+hmEF/9JYjSLIgDl84jqmUCHgmnQzvIHXW1O44/mstu9cKnbhXw3TLCrISZ7CIjQjSdaGwUvISEz8pLhvbFBYwpx1itwhaSp373WX1wyIjavSL57TJiuyZv30= 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=Siox1CRO; arc=none smtp.client-ip=209.85.216.49 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="Siox1CRO" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-38ec1402b05so1063139a91.2 for ; Sat, 25 Jul 2026 07:03:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784988188; x=1785592988; 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:content-type; bh=T1f11c1+LqGQKYZGZsvjS1hui2EH+/7PFp9bdrgEzrg=; b=Siox1CROXRBJXoMribzku28gwzWWrRK4fb77GAxibGgIaGC0x5F+AkbQwREdgtaXi3 QzVI64/ZRgiLdis+C554xdJ5mBFiLYlTK2xTIfn6M5dfgcB1+e4x8D+8Td5CadCC3MbZ Q6PhNnCAUsWuW0XJVjrvxtZbu87H9gvvEcIoK51Ds488qhj2wkd4NSRlPr4KY+xO7mEc 1QTlDne7u0lDzdScR0XrdYhbfAZWymXVXxj1DG7G51+D5zMfnA/CtlZXf2sKRigTGgD2 ANNe7N4sStvTsalwythXOcQoRrixyeI8AHojDkaIjvbkaYAKjzRYUNEoPcN5KWraIzc9 W+XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784988188; x=1785592988; 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:content-type; bh=T1f11c1+LqGQKYZGZsvjS1hui2EH+/7PFp9bdrgEzrg=; b=XX9gSqpoTBGLBhfdS0LzNNC4DEL5cmWe33RI5F7t85jN3rsiNaavHyM0ynkEpmwvk/ ru7wjSVXdZOEaw1tknQsi5n4Cj1BudUM1KLSYZoYKb95fwtDsUA1C9YqlKYMGeVOQwOZ dmU5x7csVEqn9kcjPt/aYu2r1q1V+vsTrhW3vgCCWScq7eqCRhRVs710Q8EOVHqyB5W8 XF2NxpykTBZiIhqGjGk4vJYh5AtsdLdajkOfJGQ5D+PJvhrH/oleW6Ahjh6ygT9JJ37q 3XIJusyTPWldlPot2Grd5oIML4kW2lEXDtJBuMVP0vZYhBfImejWpmU43JGcxwSs1WQ1 um/Q== X-Forwarded-Encrypted: i=1; AHgh+RrRbHFPmfnpOArs4No3i7jwg5b17MhQuHDWGKxQtcB0WoUE+PfmOzwbi2fts5OQPvKrGq9e/mlgx6WsAXo=@vger.kernel.org X-Gm-Message-State: AOJu0Yzspc7UihOuwUV8xHucijOmt93dPhc7icKnYIExzDjWkFMGmTWw PBv2RjEVenDIjU3xuewFFkHvCl4IiOp3Kjqmk//tQ2BQRRYqj08DMCtI X-Gm-Gg: AR+sD115scnAOSDLFJLRv6xOP2/tgROKNE4eSWwN7ut6+caEIxtyjl3STCzCE6UQuVS xfvPlF3f5K432JQk92XXaQr0MZfqiavDZAXuCOZd0GfmvothgEe0dxbEkVTbuIPLfmftgY1VRJz Z1KK4djAgm/FB4OwiSlpJ0iLvDhV/OdPGcK1cgFMNG5ZvsKQ8q78XzSe5OLqxy1/YHxIlRBQUWn HUN4/V/x7Lrk9oa6rv+R3UbZBge+6KSS+3j6N7o1eodWU4j/LAav85d5hjvk9qfOs1Y/vct0LXA B3OiMcA+mQbsLimAsxWSYKqHeEfH6bnneySxZ/ec4c1WynZm9bEiB3PhRwEDDwJcpC90nEMKARs 4ctKpbKJle9ElR7J3cGvGZgHHGfd4BjJoq5HXkO7vm5zG6Qnwt5Jyvr9knfrJ9GnE4h6+H6QqYu YjH8BXJVdP/g== X-Received: by 2002:a17:90b:3f0c:b0:38f:1e1a:5164 with SMTP id 98e67ed59e1d1-38f2975e3b1mr2708145a91.37.1784988188149; Sat, 25 Jul 2026 07:03:08 -0700 (PDT) Received: from fedora ([2401:4900:91fb:6bf5:d7da:6f79:b6ed:5828]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-314bc415eafsm11151861eec.7.2026.07.25.07.03.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Jul 2026 07:03:07 -0700 (PDT) From: Gunal S To: Takashi Iwai , Jaroslav Kysela Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Gunal S Subject: [PATCH] ALSA: hda/realtek: Add quirk for Infinix INBOOK X3 Slim Date: Sat, 25 Jul 2026 19:32:18 +0530 Message-ID: <20260725140241.28524-1-gunal2002@gmail.com> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The Infinix INBOOK X3 Slim (ALC269VB, subsystem 0x2782:0250) has its internal speakers wired to pin 0x1b, but the BIOS pin configuration table declares 0x1b as "no physical connection" (0x411111f0). It instead declares pin 0x14 as the internal speaker, although nothing is connected to 0x14. As a result the internal speakers are silent under Linux while the headphone jack works correctly. The codec output path to 0x14 is fully open (DAC assigned and streaming, mixer and pin unmuted, EAPD asserted), so the failure is silent with no error reported. The speakers work under Windows, where the vendor driver supplies its own pin table. Add a fixup that disables the unconnected pin 0x14 and declares pin 0x1b as the internal speaker. Reusing the existing ALC269VC_FIXUP_INFINIX_Y4_MAX was tried first, since it also remaps 0x1b to an internal speaker. It is not sufficient here: it leaves 0x14 declared, so autoconfig finds two line_outs line_outs=2 (0x14/0x1b/0x0/0x0/0x0) type:speaker and binds the primary "Speaker" control to the unconnected pin 0x14 while demoting the working speaker at 0x1b to "Bass Speaker". Audio is audible that way, but the volume and mute controls a desktop actually uses end up attached to a pin that is not wired to anything. Disabling 0x14 is what produces a single correct Speaker output. Verified on the affected machine: with the corrected pin configuration the driver's autoconfig reports line_outs=1 (0x1b/0x0/0x0/0x0/0x0) type:speaker both channels play, headphone auto-mute switches correctly in both directions, and audio survives codec runtime suspend (D3) and resume. Signed-off-by: Gunal S --- sound/hda/codecs/realtek/alc269.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/alc269.c index 379e1458f..d33904273 100644 --- a/sound/hda/codecs/realtek/alc269.c +++ b/sound/hda/codecs/realtek/alc269.c @@ -3939,6 +3939,7 @@ enum { ALC269_FIXUP_DMIC_THINKPAD_ACPI, ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13, ALC269VC_FIXUP_INFINIX_Y4_MAX, + ALC269VB_FIXUP_INFINIX_INBOOK_X3_SLIM, ALC269VC_FIXUP_LUNNEN_GROUND_14, ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO, ALC255_FIXUP_ACER_MIC_NO_PRESENCE, @@ -4409,6 +4410,14 @@ static const struct hda_fixup alc269_fixups[] = { .chained = true, .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST }, + [ALC269VB_FIXUP_INFINIX_INBOOK_X3_SLIM] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x14, 0x411111f0 }, /* disable, not connected */ + { 0x1b, 0x90170110 }, /* use as internal speaker */ + { } + }, + }, [ALC269VC_FIXUP_LUNNEN_GROUND_14] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { @@ -8020,6 +8029,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x2782, 0x0214, "VAIO VJFE-CL", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x2782, 0x0228, "Infinix ZERO BOOK 13", ALC269VB_FIXUP_INFINIX_ZERO_BOOK_13), SND_PCI_QUIRK(0x2782, 0x0232, "CHUWI CoreBook XPro", ALC269VB_FIXUP_CHUWI_COREBOOK_XPRO), + SND_PCI_QUIRK(0x2782, 0x0250, "Infinix INBOOK X3 Slim", ALC269VB_FIXUP_INFINIX_INBOOK_X3_SLIM), SND_PCI_QUIRK(0x2782, 0x1407, "Positivo P15X", ALC269_FIXUP_POSITIVO_P15X_HEADSET_MIC), SND_PCI_QUIRK(0x2782, 0x1409, "Positivo K116J", ALC269_FIXUP_POSITIVO_P15X_HEADSET_MIC), SND_PCI_QUIRK(0x2782, 0x1701, "Infinix Y4 Max", ALC269VC_FIXUP_INFINIX_Y4_MAX), -- 2.55.0