From nobody Wed Apr 1 12:38:01 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 9C5113D6688 for ; Tue, 31 Mar 2026 08:29:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774945793; cv=none; b=V5C+Nu7E2SM2bjJfyeBe7NraZLxi6RaJRypBDhOHidYR6Y3WnelaA0l/GSl9IQUsL0hSsi0UYuwsUAJ7Xl851sbOdpAyqJX56TNv8uff+VNiU+NtOdLeIshPQQA1z1XNyJ73/XcU7l8b3IMgOl/dltoQqnjvgRNlMLM093zI7+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774945793; c=relaxed/simple; bh=2GnK+Nlwm9bg1PaPeyqmBcyqU/7DjutpTZp06XVtIvw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=dySzTIVWOyb9Tr81IKvY1oaTqTKH6jKXNFqIOeRzIJo2nnHyZMBPYX1IZ5+ojzT1tg4T2xIONvHriLF2skGT0eAFOgd1aId5eN9jJKgYw21c/haUnKY3sVNrI9Thh9rpNWKcQkSy0j+xhE2DmBv82YqbjB9QvooivRg6yO0RO4Y= 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=tG9i9RrM; arc=none smtp.client-ip=209.85.128.52 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="tG9i9RrM" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4887f49ec5aso3599845e9.1 for ; Tue, 31 Mar 2026 01:29:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774945790; x=1775550590; 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=1kHp9oqEeREnWh2HQ68CB/eH7dqBHF/gYeCZeyUXvUw=; b=tG9i9RrMFqAwXStkfo/Xdvnb/Cr7A5pGbOFUk+bH1/tSS9KieBD9bTq//XP43ivevN tehQxAtQj+5/cUjUt9QyIBpgi3bW1CRB283y883MvVmfIltdgyLYbjel3Wuyc6p/7uvK kaMzNhAb3tOYAg+ky+EyHKz4SIQ/TsR702cRV/d8c5UuRS2sGSGYkVG4o/EXgqKXAyWU FmIWn1GiNO7NudvuBMFKGnMAlp8kl+GlyrOCREwcXJf//lN8kgnablsDAvJNM921FTWg Rcf6tU8SRAOQ04WsfOfZjHJ7WdgiIVlSD2ikDr17uKSUXDGb3lz9rRFN2tIlN9oE7r7c oRtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774945790; x=1775550590; 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=1kHp9oqEeREnWh2HQ68CB/eH7dqBHF/gYeCZeyUXvUw=; b=sRxKNhQEXULfjC2ratsqiTeAN6VnE0f8CAeJ9m+b8e81DtngtQE0kkSevTv0jPIxnQ KSCX7YGx4GIXxaL+RFXBWDxcJwxJ6AY/uPtcSUf7Ql4B6cGdoWPS8pGqAsXtfuEm6vwb eMlnYult3at+3Lg+q6R08dQK7s9Edyr1jHt9bnw3DjA0U/kaG2uNwcbAKvg/3PF7yJO0 9LC4AfIMoed/R4fT2WWKUC+EVzlAbXWKg0P0rPYbh+SGbSwv/KtLHQb+05Bm3PMb2oi2 QcJuhQr7vgWHxVcOiAXhj3U5j9UVHrZMbB0CaI2vgzZccYnn36McJeDWqSzNqLh7f5AP rFqg== X-Forwarded-Encrypted: i=1; AJvYcCXaevQ9bXt707LAFDvcI0MNMC+UKgEww69wmc/qiEva/HYsEgyRciLtW+wQ65qlpmbL20QYlADVTTFaVg8=@vger.kernel.org X-Gm-Message-State: AOJu0YyyuvDaBg/RVZa0upMu9g8hP2hbO+fKFThr14TTu59qjy3aRsKO jl1O02I5oLTcGDaUOja3ztfWHB8/DSpvoyhcePAz1KQ7V2REB3DT4UkmQLVFtDmrQbA= X-Gm-Gg: ATEYQzzQfc9xhsL0G87++vptXuME8X3mq0OqXzQig8clyDjUVOzH6KEcy/ZMZFDOaYV LWeXgMEMVJ0Br2KYPQDu//ZIoVLNIQS0w+kqJ1EKoBdNfYLlPLd/Vhsj0pidUkMlMPILIKLFFEo bJelhcWTFL83Wq2VE80rIuURPLHTI7EG4tqG3s03/netxY0qrD4YX6Kc67gvGUXXHs57iuwHrRi h4Y0bQAwTeoC5JZzxNxCkNSFzj/UNDOYVlUKCVzPd9o3oaosP0SJv8uIw9iR6Qkri0j2iQUu74z zoFI5ULhV5NFEIsNfYmzs0LE4P+o/CcwRVaP3/iIJR+Ut5hJOxySzoxDETmDRIin++NoITUCNX/ tsto0jTMDjNfx8/ABa1yJulnfW4uA6YUoAJaxW7US9blWO83DipFBrpqBm2Urz1eU3/JVAh1aaY 1PvhFBP94ggS1I6PEN9ygFPAYIxCbnhPJ/Qrou4M8u4UNcdAcKHPGRZTZYD13bjQzO+Tn53UEJL Zo8r1H/cd2eMQw= X-Received: by 2002:a05:600c:528d:b0:488:7f49:eae5 with SMTP id 5b1f17b1804b1-4887f49ed4bmr13675275e9.16.1774945789742; Tue, 31 Mar 2026 01:29:49 -0700 (PDT) Received: from alex-Yoga-Pro-7-14IMH9.. ([109.185.185.217]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4887c884b8asm10256865e9.15.2026.03.31.01.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 01:29:49 -0700 (PDT) From: Alexander Savenko To: alsa-devel@alsa-project.org Cc: tiwai@suse.de, linux-kernel@vger.kernel.org, Alexander Savenko Subject: [PATCH] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IMH9 Date: Tue, 31 Mar 2026 11:29:28 +0300 Message-ID: <20260331082929.44890-1-alex.sav4387@gmail.com> X-Mailer: git-send-email 2.43.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" The Lenovo Yoga Pro 7 14IMH9 (DMI: 83E2) shares PCI SSID 17aa:3847 with the Legion 7 16ACHG6, but has a different codec subsystem ID (17aa:38cf). The existing SND_PCI_QUIRK for 17aa:3847 applies ALC287_FIXUP_LEGION_16ACHG6, which attempts to initialize an external I2C amplifier (CLSA0100) that is not present on the Yoga Pro 7 14IMH9. As a result, pin 0x17 (bass speakers) is connected to DAC 0x06 which has no volume control, making hardware volume adjustment completely non-functional. Audio is either silent or at maximum volume regardless of the slider position. Add a HDA_CODEC_QUIRK entry using the codec subsystem ID (17aa:38cf) to correctly identify the Yoga Pro 7 14IMH9 and apply ALC287_FIXUP_YOGA9_14IMH9_BASS_SPK_PIN, which redirects pin 0x17 to DAC 0x02 and restores proper volume control. The existing Legion entry is preserved unchanged. This follows the same pattern used for 17aa:386e, where Legion Y9000X and Yoga Pro 7 14ARP8 share a PCI SSID but are distinguished via HDA_CODEC_QUIRK. Link: https://github.com/nomad4tech/lenovo-yoga-pro-7-linux Tested-by: Alexander Savenko Signed-off-by: Alexander Savenko --- sound/hda/codecs/realtek/alc269.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sound/hda/codecs/realtek/alc269.c b/sound/hda/codecs/realtek/a= lc269.c index 086c05053..8efb3e363 100644 --- a/sound/hda/codecs/realtek/alc269.c +++ b/sound/hda/codecs/realtek/alc269.c @@ -7622,6 +7622,10 @@ static const struct hda_quirk alc269_fixup_tbl[] =3D= { SND_PCI_QUIRK(0x17aa, 0x3834, "Lenovo IdeaPad Slim 9i 14ITL5", ALC287_FIX= UP_YOGA7_14ITL_SPEAKERS), SND_PCI_QUIRK(0x17aa, 0x383d, "Legion Y9000X 2019", ALC285_FIXUP_LEGION_Y= 9000X_SPEAKERS), SND_PCI_QUIRK(0x17aa, 0x3843, "Lenovo Yoga 9i / Yoga Book 9i", ALC287_FIX= UP_LENOVO_YOGA_BOOK_9I), + /* Yoga Pro 7 14IMH9 shares PCI SSID 17aa:3847 with Legion 7 16ACHG6; + * use codec SSID to distinguish them + */ + HDA_CODEC_QUIRK(0x17aa, 0x38cf, "Lenovo Yoga Pro 7 14IMH9", ALC287_FIXUP_= YOGA9_14IMH9_BASS_SPK_PIN), SND_PCI_QUIRK(0x17aa, 0x3847, "Legion 7 16ACHG6", ALC287_FIXUP_LEGION_16A= CHG6), SND_PCI_QUIRK(0x17aa, 0x384a, "Lenovo Yoga 7 15ITL5", ALC287_FIXUP_YOGA7_= 14ITL_SPEAKERS), SND_PCI_QUIRK(0x17aa, 0x3852, "Lenovo Yoga 7 14ITL5", ALC287_FIXUP_YOGA7_= 14ITL_SPEAKERS), --=20 2.43.0