From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: "Kuppuswamy Sathyanarayanan"
<sathyanarayanan.kuppuswamy@linux.intel.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Sasha Levin" <sashal@kernel.org>,
srinivas.pandruvada@linux.intel.com,
platform-driver-x86@vger.kernel.org
Subject: [PATCH AUTOSEL 6.17] platform/x86: intel-uncore-freq: Add additional client processors
Date: Mon, 24 Nov 2025 03:06:18 -0500 [thread overview]
Message-ID: <20251124080644.3871678-4-sashal@kernel.org> (raw)
In-Reply-To: <20251124080644.3871678-1-sashal@kernel.org>
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
[ Upstream commit a229809c18926e79aeca232d5b502157beb0dec3 ]
Add Intel uncore frequency driver support for Pantherlake, Wildcatlake
and Novalake processors.
Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Link: https://patch.msgid.link/20251022211733.3565526-1-sathyanarayanan.kuppuswamy@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
### 1. COMPREHENSIVE ANALYSIS
- **Commit Message Analysis:**
- **Subject:** "platform/x86: intel-uncore-freq: Add additional
client processors"
- **Intent:** The commit explicitly adds support for Intel
Pantherlake, Wildcatlake, and Novalake processors to the uncore
frequency driver.
- **Tags:** No "Fixes:" or "Cc: stable" tags are present. This is
common for device ID additions, which are often picked up by
stable maintainers automatically or upon request.
- **Code Inspection:**
- **File:** `drivers/platform/x86/intel/uncore-frequency/uncore-
frequency.c`
- **Change:** Adds 4 entries to the `intel_uncore_cpu_ids[]` array
using the `X86_MATCH_VFM` macro.
- **Mechanism:** The driver uses this table to decide whether to
load. Currently, on these new processors, the driver returns
`-ENODEV`. This patch allows the driver to initialize
successfully.
- **Complexity:** Trivial. It is a data-only change with no logic
modification.
- **Stable Rules & Exceptions:**
- **General Rule:** "No new features."
- **Exception:** "NEW DEVICE IDs (Very Common)". The rules
explicitly allow adding IDs (PCI, USB, ACPI, etc.) to existing
drivers to enable hardware support. In the context of x86 platform
drivers, CPU Vendor-Family-Model (VFM) IDs serve the exact same
purpose as PCI device IDs.
- **Applicability:** This commit fits squarely within the Device ID
exception. It enables an existing driver on new hardware variants
without changing the driver's core behavior.
- **Risk Assessment:**
- **Regression Risk:** Negligible. The change is confined to the
device match table. It does not alter the code path for currently
supported processors.
- **Consequence of Failure:** If the IDs are incorrect, the driver
simply fails to load on the new hardware, preserving the status
quo.
- **Dependencies:** The patch uses `X86_MATCH_VFM` and constants
like `INTEL_NOVALAKE`.
- *Critical Technical Note:* The `X86_MATCH_VFM` infrastructure
was introduced to support CPU families beyond Family 6 (Nova
Lake is Family 18). Target stable trees must have this
infrastructure and the corresponding
`arch/x86/include/asm/intel-family.h` definitions. For very
old stable trees (pre-VFM infrastructure), backporting would
be complex; for modern stable trees (like 6.6.y or the
hypothetical 6.17.y), this is straightforward.
### 2. DETAILED EXPLANATION
This commit is a strong candidate for backporting based on the "New
Device IDs" exception in the stable kernel rules.
**Problem Solved:**
Users running stable kernels on newer Intel hardware (Pantherlake,
Wildcatlake, Novalake) currently have no access to uncore frequency
controls because the driver does not recognize their CPUs. This limits
power management and performance tuning capabilities that are standard
on older platforms.
**Stable Kernel Rules Compliance:**
1. **Exception Category:** This falls under **Exception 1: NEW DEVICE
IDs**. While technically a "feature" (enablement), the stable rules
explicitly permit adding IDs to existing drivers to support new
hardware, provided the driver itself isn't being rewritten.
2. **Obviously Correct:** The change adds four lines of data to a match
table. It is minimal and surgical.
3. **Low Risk:** There is zero risk to existing users. The code path for
supported CPUs remains identical. The new entries only activate on
the specific new CPU models.
**Caveats & Dependencies:**
- **VFM Infrastructure:** The patch relies on the `X86_MATCH_VFM` macro.
Ensure the target stable tree supports this macro (introduced to
handle non-Family-6 CPUs like Nova Lake).
- **Header Definitions:** The target tree must have the updated
`arch/x86/include/asm/intel-family.h` containing
`INTEL_PANTHERLAKE_L`, `INTEL_NOVALAKE`, etc. These are typically
backported, but verify their existence before applying this patch.
**Conclusion:**
This is a standard, low-risk hardware enablement patch that provides
necessary functionality for users on new platforms without endangering
existing setups.
**YES**
.../platform/x86/intel/uncore-frequency/uncore-frequency.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/platform/x86/intel/uncore-frequency/uncore-frequency.c b/drivers/platform/x86/intel/uncore-frequency/uncore-frequency.c
index 2a6897035150c..0dfc552b28024 100644
--- a/drivers/platform/x86/intel/uncore-frequency/uncore-frequency.c
+++ b/drivers/platform/x86/intel/uncore-frequency/uncore-frequency.c
@@ -256,6 +256,10 @@ static const struct x86_cpu_id intel_uncore_cpu_ids[] = {
X86_MATCH_VFM(INTEL_ARROWLAKE, NULL),
X86_MATCH_VFM(INTEL_ARROWLAKE_H, NULL),
X86_MATCH_VFM(INTEL_LUNARLAKE_M, NULL),
+ X86_MATCH_VFM(INTEL_PANTHERLAKE_L, NULL),
+ X86_MATCH_VFM(INTEL_WILDCATLAKE_L, NULL),
+ X86_MATCH_VFM(INTEL_NOVALAKE, NULL),
+ X86_MATCH_VFM(INTEL_NOVALAKE_L, NULL),
{}
};
MODULE_DEVICE_TABLE(x86cpu, intel_uncore_cpu_ids);
--
2.51.0
next prev parent reply other threads:[~2025-11-24 8:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 8:06 [PATCH AUTOSEL 6.17-5.10] platform/x86: huawei-wmi: add keys for HONOR models Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] sched_ext: Fix possible deadlock in the deferred_irq_workfn() Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.15] HID: elecom: Add support for ELECOM M-XT3URBK (018F) Sasha Levin
2025-11-24 8:06 ` Sasha Levin [this message]
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.10] pinctrl: qcom: msm: Fix deadlock in pinmux configuration Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: Add Omen 16-wf1xxx fan support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.10] samples: work around glibc redefining some of our defines wrong Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] HID: hid-input: Extend Elan ignore battery quirk to USB Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdesc Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/amd/pmc: Add support for Van Gogh SoC Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] sched_ext: Use IRQ_WORK_INIT_HARD() to initialize rq->scx.kick_cpus_irq_work Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/intel/hid: Add Nova Lake support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: mark Victus 16-r0 and 16-s0 for victus_s fan and thermal profile support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.4] platform/x86: acer-wmi: Ignore backlight event Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: Add Omen MAX 16-ah0xx fan support and thermal profile Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] nvme: fix admin request_queue lifetime Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.1] LoongArch: Mask all interrupts during kexec/kdump Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.1] HID: apple: Add SONiX AK870 PRO to non_apple_keyboards quirk list Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.4] bfs: Reconstruct file type when loading from disk Sasha Levin
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=20251124080644.3871678-4-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=patches@lists.linux.dev \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=stable@vger.kernel.org \
/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