Skip to content

[Deepin-Kernel-SIG] [linux 6.6-y] [Intel] [Backport] DMR new CPU model support#1483

Open
Avenger-285714 wants to merge 2 commits intodeepin-community:linux-6.6.yfrom
Avenger-285714:linux-6.6.y
Open

[Deepin-Kernel-SIG] [linux 6.6-y] [Intel] [Backport] DMR new CPU model support#1483
Avenger-285714 wants to merge 2 commits intodeepin-community:linux-6.6.yfrom
Avenger-285714:linux-6.6.y

Conversation

@Avenger-285714
Copy link
Member

@Avenger-285714 Avenger-285714 commented Feb 6, 2026

backporting two commits which is related with DMR CPU module support

70d1d98,x86/cpu: Rename and move CPU model entry for Diamond Rapids,2025-09-17 11:22:11,Tony Luck tony.luck@intel.com,v6.18-rc1
d1fb034,x86/cpu: Add two Intel CPU model numbers,2024-09-26 10:47:49,Tony Luck tony.luck@intel.com,v6.12-rc1

for 70d1d98,
1.we remove turbostat updates(tools/power/x86/turbostat/turbostat.c) updates which is not supported by Intel.
2.also we add new CPU model family support for module speed_select_if/isst_if_common.c

Summary by Sourcery

Backport Intel Diamond Rapids and related CPU model support to the 6.6-y kernel platform drivers.

New Features:

  • Add Intel Diamond Rapids Xeon (family 19) CPU model definition and support flags.
  • Add Intel Panther Lake mobile CPU model definition for future support.

Enhancements:

  • Switch Intel Speed Select interface CPU matching to use VFM-based macros and extend coverage to new Xeon models, including Diamond Rapids.
  • Extend Intel TPMI power domain driver CPU matching to recognize Diamond Rapids CPUs.

aegl added 2 commits February 6, 2026 16:18
commit d1fb034 upstream.

Pantherlake is a mobile CPU. Diamond Rapids next generation Xeon.

Intel-SIG: commit d1fb034 x86/cpu: Add two Intel CPU model numbers.
Support DMR new CPU models

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/all/20240923173750.16874-1-tony.luck%40intel.com
[ Quanxian Wang: amend commit log ]
Signed-off-by: Quanxian Wang <quanxian.wang@intel.com>
Signed-off-by: WangYuli <wangyuli@aosc.io>
commit 70d1d98 upstream.

This model was added as INTEL_PANTHERCOVE_X (based on the name of the
core) with a comment that the platform name is Diamond Rapids. It was
also placed at the end of the file in a new section for family 19
processors.

This is different from previous naming as Andrew Cooper noted.
PeterZ agreed and posted a patch[1] to fix the name and move it in
sequence with other Xeon servers. But without a commit description or
sign-off the patch wasn't ever applied.

Patch updated to cover one additional use of the #define by turbostat
and to change the "Family 6" comment to also list 18 and 19 since new
models in these families are mixed in with family 6.

Originally-by: Peter Zijlstra <peterz@infradead.org>
Intel-SIG: commit 70d1d98 x86/cpu: Rename and move CPU model entry for Diamond Rapids.
Support DMR new CPU models

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Sohil Mehta <sohil.mehta@intel.com>
Link: https://lore.kernel.org/all/20250214130205.GK14028@noisy.programming.kicks-ass.net/ # [1]
[ Quanxian Wang: amend commit log ]
Signed-off-by: Quanxian Wang <quanxian.wang@intel.com>
Signed-off-by: WangYuli <wangyuli@aosc.io>
@sourcery-ai
Copy link

sourcery-ai bot commented Feb 6, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Backports Intel x86 CPU identification updates to support the Diamond Rapids (family 19) and Panther Lake models and switches relevant platform drivers from legacy family/model matching to VFM-based matching, wiring the new Diamond Rapids ID into Intel Speed Select (ISST) and TPMI power domain support while omitting upstream turbostat changes.

Class diagram for updated Intel CPU model identifiers and match tables

classDiagram
    class x86_cpu_id {
        +u32 vendor
        +u32 family
        +u32 model
        +unsigned long driver_data
    }

    class intel_family_macros {
        <<macro_definitions>>
        +INTEL_ATOM_CRESTMONT
        +INTEL_ATOM_CRESTMONT_X
        +INTEL_ATOM_DARKMONT_X
        +INTEL_EMERALDRAPIDS_X
        +INTEL_GRANITERAPIDS_D
        +INTEL_GRANITERAPIDS_X
        +INTEL_ICELAKE_D
        +INTEL_ICELAKE_X
        +INTEL_SAPPHIRERAPIDS_X
        +INTEL_SKYLAKE_X
        +INTEL_DIAMONDRAPIDS_X
        +INTEL_PANTHERLAKE_L
    }

    class isst_if_common {
        +x86_cpu_id isst_cpu_ids[]
    }

    class tpmi_power_domains {
        +x86_cpu_id tpmi_cpu_ids[]
    }

    intel_family_macros <.. x86_cpu_id : uses_for_matching
    isst_if_common --> x86_cpu_id : uses
    tpmi_power_domains --> x86_cpu_id : uses

    class match_macros {
        <<macros>>
        +X86_MATCH_VFM(vfm, data)
    }

    match_macros <.. isst_if_common : used_in_isst_cpu_ids
    match_macros <.. tpmi_power_domains : used_in_tpmi_cpu_ids
Loading

File-Level Changes

Change Details Files
Switch Intel Speed Select (ISST) CPU matching to VFM-based IDs and add Diamond Rapids support.
  • Replace X86_MATCH_INTEL_FAM6_MODEL() usage with X86_MATCH_VFM() for existing Crestmont, Darkmont, Emerald Rapids, Granite Rapids, Icelake, Sapphire Rapids, and Skylake entries.
  • Introduce a new ISST entry for the Diamond Rapids server CPU model with SST_HPM_SUPPORTED capabilities.
  • Preserve existing feature flags (SST_HPM_SUPPORTED, SST_MBOX_SUPPORTED, or none) for all other CPUs.
drivers/platform/x86/intel/speed_select_if/isst_if_common.c
Extend Intel CPU family/model definitions to include Diamond Rapids (family 19) and Panther Lake mobile.
  • Define INTEL_DIAMONDRAPIDS_X as a Family 19, model 0x01 CPU with Panther Cove core.
  • Add INTEL_PANTHERLAKE_L definition as a Family 6, model 0xCC CPU.
  • Keep existing family 6 and hybrid processor definitions intact while inserting the new macros in the appropriate sections.
arch/x86/include/asm/intel-family.h
Enable TPMI power domain driver support for Diamond Rapids using the new VFM ID.
  • Add an X86_MATCH_VFM(INTEL_DIAMONDRAPIDS_X, NULL) entry to the TPMI CPU ID table.
  • Leave existing Crestmont, Darkmont, and Granite Rapids TPMI entries unchanged.
drivers/platform/x86/intel/tpmi_power_domains.c

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@deepin-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from avenger-285714. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The new INTEL_PANTHERLAKE_L macro is introduced but not used in this backport; consider dropping it here unless there is an immediate in-tree consumer to keep the backport minimal and focused on DMR support.
  • In isst_if_common.c, the added INTEL_DIAMONDRAPIDS_X entry is appended near the end; if feasible, align the ordering of X86_MATCH_VFM entries with the upstream commit to simplify future syncs and reduce diff noise.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new INTEL_PANTHERLAKE_L macro is introduced but not used in this backport; consider dropping it here unless there is an immediate in-tree consumer to keep the backport minimal and focused on DMR support.
- In isst_if_common.c, the added INTEL_DIAMONDRAPIDS_X entry is appended near the end; if feasible, align the ordering of X86_MATCH_VFM entries with the upstream commit to simplify future syncs and reduce diff noise.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR backports Diamond Rapids (DMR) CPU model support from upstream kernel commits to the 6.6-y kernel branch. The changes add support for Intel's Diamond Rapids (Family 19) and Panther Lake processors by defining new CPU model identifiers and registering them with relevant platform drivers.

Changes:

  • Added CPU model definitions for INTEL_DIAMONDRAPIDS_X (Family 19, model 0x01) and INTEL_PANTHERLAKE_L (Family 6, model 0xCC)
  • Updated TPMI power domains driver to recognize Diamond Rapids processors
  • Modernized speed_select_if driver by converting from X86_MATCH_INTEL_FAM6_MODEL to X86_MATCH_VFM macros and added Diamond Rapids support

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
arch/x86/include/asm/intel-family.h Adds CPU model definitions for Diamond Rapids (Family 19) and Panther Lake processors
drivers/platform/x86/intel/tpmi_power_domains.c Registers Diamond Rapids in the TPMI power domains CPU ID table
drivers/platform/x86/intel/speed_select_if/isst_if_common.c Converts macro usage to X86_MATCH_VFM and adds Diamond Rapids with HPM support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

#define INTEL_GRANITERAPIDS_D IFM(6, 0xAE)

/* Family 19 */
#define INTEL_DIAMONDRAPIDS_X IFM(19, 0x01) /* Panther Cove */
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing the INTEL_FAM19_DIAMONDRAPIDS_X definition. Following the codebase convention (see INTEL_FAM5_QUARK_X1000 at line 264), CPU model definitions for non-Family-6 processors should include both a INTEL_FAM{N}_ variant with the model number and an INTEL_ variant using IFM. Add: #define INTEL_FAM19_DIAMONDRAPIDS_X 0x01 before this line.

Copilot uses AI. Check for mistakes.
#define INTEL_FAM6_LUNARLAKE_M 0xBD
#define INTEL_LUNARLAKE_M IFM(6, 0xBD)

#define INTEL_PANTHERLAKE_L IFM(6, 0xCC)
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing the INTEL_FAM6_PANTHERLAKE_L definition. Following the codebase convention (see INTEL_FAM6_LUNARLAKE_M at line 196), Family 6 CPU model definitions should include both a INTEL_FAM6_ variant with the model number and an INTEL_ variant using IFM. Add: #define INTEL_FAM6_PANTHERLAKE_L 0xCC before this line.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants