Archive-only list for patches
 help / color / mirror / Atom feed
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


  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