From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (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 347192BE65F for ; Sun, 26 Jul 2026 09:02:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785056579; cv=none; b=U0NFVjZRqkbvmieEDKNvpACn29lNTR5SIMgwdr6YareSsnLmu30WwSj29u+YDlSCFR3ZMn/OAdXoTxzHqOqUhAEadKokFuSZTEKBHTJgpDrFv+BzMz5xBLwowvHzDFpGSiFWFOROAOnLzKLQR+r1M18KREsTYz/QnwSAIKDfx90= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785056579; c=relaxed/simple; bh=L2Igs+4mV4+GcdZSYkYS5Hgq9N+1Am75fWqOGCbJyM8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y+Von3Aeb5UPC53N9m2+5gSSczH3Lryijr5YEC5JYC4CcdyO4R7bkPheY846Vi/bTd9eAE0qlgXKtEv7f0SNSoiKcKR9rwAEhrRPDYeJsIZTjO1Cn+hmMVgUxBcff/lHhwGcSHp5zLPseh4TxxEgO+8tizES0L3TCXWGz0LpNJ0= 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=qvdoT9uI; arc=none smtp.client-ip=209.85.215.180 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="qvdoT9uI" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-c9e0b89e228so1209240a12.1 for ; Sun, 26 Jul 2026 02:02:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785056577; x=1785661377; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=X42qayrLWkd37VbCxwMOxjoYuIEHbZkiWI2Z233rOJw=; b=qvdoT9uIocsPD/0EmbEwITd1dN+nYv17dtav1bKDbNfMTIMapBnUQC+p4/hiHmc2F1 XbMHnsCCPx1HUTSEOqItsVZ7yGujEQT3b0dk2Z/W/6B8uF4r4LGZMyBEJHI9wnY/RvHy BsBAzfx0rXVut/Y3HwSxEl4aYeH16Aiytovl6HwLC60upX3NFkGJBbAWsv4gqa+02LiK 97lGB7Bw/efdrbY7sUtK2nOP7/J88qP7Pbs8yoBi8Z/c1Y23YL3rnbn/jQgsBUgF/qZw y5mXwS5sLGndaV8uXyqHk7dbZc+0yuBg9MiuDME8SbaDex5S3M0fdlzZ6GgRymCGJUoV br8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785056577; x=1785661377; h=content-transfer-encoding:mime-version:references:in-reply-to :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=X42qayrLWkd37VbCxwMOxjoYuIEHbZkiWI2Z233rOJw=; b=D+LjSqAvXJpHngXJhfjbvZCuBIHev7Ql1G8qfta0Q8hwgucREjMy8Am+PEcRcgvKc9 bNBLYwoin8e0ZWnkzJHKqPDeMRgSb27xub+pY5whCkmaWJmkyn3ygEgwWhZaQuDuNiUh qzQB4Ejj3aoioUCTdnNNbkZLpZuigdR+5W0mnI88+xPpN3auyG6G5KmO0ClWGTGUMHih /0x8lCXnWN8zwVyM1mkTxKLRcIvU8mTURrn+UYKEhLw37fI82LDEkx9l+0GYZ6h8a/xk DCa0H/R6uO80mHs1DLS1q+PvL2xZujKLxFbo/ETzkkC5miSmQIItmI6uO6MssOn20XZf Zfyg== X-Forwarded-Encrypted: i=1; AHgh+RqT8d/41zDQGd8CleuIaGUcQ3KyKQBhRU1qDcsofWxK/vhdsUBA8yUlsLVNh50tnvGvJnOXh2EazeWfiS4=@vger.kernel.org X-Gm-Message-State: AOJu0Yzaf4/BNMNpAdlCHh+JzISywCF+LpyF4DBZkqS2Rp/rbq5eLS8J kDRdIPy27p5hfOP0xe0HDW2Sj+Mjm4g0orY56FZ+6BlJh6Vqh6wpAe3Q9VMlnpGR X-Gm-Gg: AR+sD13cNSbRKO6ytKzMaLmkUDDvcdb7azBfZR/Nyg/5VkNGyjVZIb4QqJOvDAkqUrk +uOInnC18r1XQ/plp/XSEebZIq42Z4dsxYdWx6yDEaQ5GY2VqFWEt6UJZYqlbq10Ozeg0iBbYQ7 gzLYkb5SFpvJQ+ZKp83dnBjNFFOSyi25WKUc/g6xjg2KNLknCR4OeSU3IZGmjQ95TjfWuXzJOPp zMGEiwLzdlpsfJVn1CLobli5Wjz/0zYEmqiYbvNnix+1AjYf9VInR8RBuVNcJ3YvNmtQDnd1vtN WdYBZAJpWP/ytmY58i6gxYerfv5JHM00uoiF9UC0/wlgws9jAh8Kz41MkDaLcz7qed5N8dJ05jH GViAMs5VTx3/SpbBdTsKt4ch3Y2x/hyCdMNHRuZVUgBA0lthOkRCFfWivmpPdUXw4tRU1abC17H c= X-Received: by 2002:a17:90b:3e47:b0:38e:4011:465f with SMTP id 98e67ed59e1d1-38f2960cd53mr4451101a91.23.1785056577417; Sun, 26 Jul 2026 02:02:57 -0700 (PDT) Received: from fedora ([2401:4900:c8f3:48f4:c9f1:4935:9171:a431]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-314bc413766sm19451986eec.8.2026.07.26.02.02.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Jul 2026 02:02:56 -0700 (PDT) From: Gunal Seenivasagan To: Takashi Iwai , Jaroslav Kysela Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Gunal Seenivasagan Subject: [PATCH v2] ALSA: hda/realtek: Add quirk for Infinix INBOOK X3 Slim Date: Sun, 26 Jul 2026 14:27:11 +0530 Message-ID: <20260726085715.229802-1-gunal2002@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <87y0ey9of8.wl-tiwai@suse.de> References: <87y0ey9of8.wl-tiwai@suse.de> 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 Seenivasagan --- v2: No functional change. Corrected the author and Signed-off-by lines to my full name, as requested by Takashi. 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