From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Shenghao Ding <shenghao-ding@ti.com>,
Takashi Iwai <tiwai@suse.de>, Sasha Levin <sashal@kernel.org>,
kevin-lu@ti.com, baojun.xu@ti.com, linux-sound@vger.kernel.org
Subject: [PATCH AUTOSEL 6.18] ALSA: hda/tas2781: Add newly-released HP laptop
Date: Tue, 20 Jan 2026 14:34:53 -0500 [thread overview]
Message-ID: <20260120193456.865383-10-sashal@kernel.org> (raw)
In-Reply-To: <20260120193456.865383-1-sashal@kernel.org>
From: Shenghao Ding <shenghao-ding@ti.com>
[ Upstream commit 46b8d0888f01f250fbd24d00ff80b755c3c42cd4 ]
HP released the new laptop with the subid 0x103C.
Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20260115124907.629-1-shenghao-ding@ti.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
Now I have a complete picture. Let me summarize the analysis:
## Analysis Summary
### 1. COMMIT MESSAGE ANALYSIS
The commit is titled "ALSA: hda/tas2781: Add newly-released HP laptop"
with subsystem ID 0x103C. This is a straightforward hardware enablement
commit.
- No "Fixes:" tag (expected for commits requiring manual review)
- No "Cc: stable" tag (expected)
- The commit enables audio hardware for HP laptops with TAS2781 codec
### 2. CODE CHANGE ANALYSIS
The actual code change is extremely minimal:
1. **Copyright year update**: `2023 - 2025` → `2023 - 2026` (cosmetic,
harmless)
2. **Addition of HP case in switch statement**: 3 lines added to
recognize HP vendor ID 0x103C and set `catlog_id = HP`
The switch statement determines which EFI GUID to use for reading
calibration data from UEFI. Without this case:
- HP laptops (subid 0x103C) fall into the `default` case and get
`catlog_id = LENOVO`
- This means they use the LENOVO EFI GUID instead of the correct HP EFI
GUID
- Calibration data wouldn't be found or would be incorrect
**Root cause**: Missing vendor ID case means the driver uses the wrong
EFI GUID for calibration data, leading to audio calibration failures on
HP laptops.
### 3. CLASSIFICATION
This is a **device ID/vendor ID addition** to an existing driver - one
of the explicit exceptions listed in the stable kernel rules. This falls
squarely into the "NEW DEVICE IDs" category:
- Adding a vendor/subsystem ID (0x103C for HP)
- The driver already exists and supports the TAS2781 codec
- HP support infrastructure (enum value, EFI GUID) already exists
- Only the vendor ID recognition is missing
### 4. SCOPE AND RISK ASSESSMENT
**Lines changed**: 4 (3 functional lines + 1 cosmetic copyright update)
**Files touched**: 1 (tas2781_hda_i2c.c)
**Complexity**: Extremely low - simple switch case addition
**Risk**: Minimal - only affects HP laptops (subid 0x103C); other
laptops unaffected
### 5. USER IMPACT
- **Who is affected**: Users with HP laptops containing TAS2781 audio
codecs
- **Severity**: Without this fix, HP laptop audio may not work properly
due to incorrect calibration data retrieval
- **Impact of change**: Enables proper audio on new HP hardware
### 6. STABILITY INDICATORS
- Signed off by the original driver author (Shenghao Ding)
- Accepted by ALSA maintainer (Takashi Iwai)
- Simple, obvious change with clear purpose
### 7. DEPENDENCY CHECK
**Critical consideration**: The commit applies to file
`sound/hda/codecs/side-codecs/tas2781_hda_i2c.c` which is a NEW location
- the file was moved in commit `6014e9021b28e` ("ALSA: hda: Move codec
drivers into sound/hda/codecs directory").
Checking stable trees:
- **6.16.y**: Has all infrastructure (HP enum, HP EFI GUID, file in old
location `sound/pci/hda/`). The patch could apply with path
adjustment.
- **6.15.y and older**: Do NOT have HP support infrastructure - the
`device_catlog_id` enum only has `LENOVO=0` and `OTHERS`. No HP enum
value, no HP EFI GUID. **Backporting is NOT possible without
significant additional commits.**
### 8. BACKPORT FEASIBILITY
For **6.16.y stable**: The commit should be backported, but requires
path adjustment (`sound/hda/codecs/side-codecs/` → `sound/pci/hda/`).
All necessary infrastructure exists.
For **6.15.y and older**: NOT suitable for backport. Would require
backporting the entire HP infrastructure:
- The HP enum value
- The HP EFI GUID
- Possibly other architectural changes
The commit itself is clearly stable-worthy (device ID addition to
existing driver), but its applicability is limited to kernels that
already have the HP support infrastructure.
### Conclusion
This commit is a textbook example of a stable-appropriate change: a
simple vendor ID addition to an existing driver that enables hardware
support. It's small (3 functional lines), obviously correct, low risk,
and addresses a real user issue (HP laptops not working properly with
TAS2781 audio).
However, the backport is only applicable to kernels 6.16+ where the HP
infrastructure already exists. For older kernels, this would require
additional prerequisite commits.
**YES**
sound/hda/codecs/side-codecs/tas2781_hda_i2c.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
index f7a7f216d5865..3da1f138a191c 100644
--- a/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
+++ b/sound/hda/codecs/side-codecs/tas2781_hda_i2c.c
@@ -2,7 +2,7 @@
//
// TAS2781 HDA I2C driver
//
-// Copyright 2023 - 2025 Texas Instruments, Inc.
+// Copyright 2023 - 2026 Texas Instruments, Inc.
//
// Author: Shenghao Ding <shenghao-ding@ti.com>
// Current maintainer: Baojun Xu <baojun.xu@ti.com>
@@ -568,6 +568,9 @@ static int tas2781_hda_bind(struct device *dev, struct device *master,
case 0x1028:
tas_hda->catlog_id = DELL;
break;
+ case 0x103C:
+ tas_hda->catlog_id = HP;
+ break;
default:
tas_hda->catlog_id = LENOVO;
break;
--
2.51.0
prev parent reply other threads:[~2026-01-20 19:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 19:34 [PATCH AUTOSEL 6.18] ALSA: usb-audio: Prevent excessive number of frames Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-6.6] ASoC: amd: yc: Fix microphone on ASUS M6500RE Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-5.10] ASoC: tlv320adcx140: Propagate error codes during probe Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-6.1] nvme-fc: release admin tagset if init fails Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18] dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue() Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-5.10] ASoC: davinci-evm: Fix reference leak in davinci_evm_probe Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-6.6] nvmet-tcp: fixup hang in nvmet_tcp_listen_data_ready() Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18-6.12] ASoC: simple-card-utils: Check device node before overwrite direction Sasha Levin
2026-01-20 19:34 ` [PATCH AUTOSEL 6.18] ASoC: Intel: sof_sdw: Add new quirks for PTL on Dell with CS42L43 Sasha Levin
2026-01-20 19:34 ` Sasha Levin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260120193456.865383-10-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=baojun.xu@ti.com \
--cc=kevin-lu@ti.com \
--cc=linux-sound@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=shenghao-ding@ti.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox