Hi Hans, Pull request for Intel Speed Select version v1.15: Summary of changes: Till the commit: "tools/power/x86/intel-speed-select: Get punit core mapping information" All patches just lays foundation for adding new hardware interface in addition to existing MSR/MMIO interface. All patches prefixed with "Abstract" just adds individual hardware callback for functions called from the core processing. The mailbox processing is abstracted to a new file with callbacks. In addition some changes to reduce duplicated code for display of TRL level. Patch "Introduce Punit ID concept and add related API" add further abstraction in addition to existing package and die scope. ----------- tools/power/x86/intel-speed-select: Get punit core mapping information -Adds a new way to get package/die/punit information for each CPU. ----------- Introduce TPMI interface support - Implement all abstracted callbacks above to use TPMI IOCTL interface. ----------- tools/power/x86/intel-speed-select: Display punit info - With TPMI the granularity is per punit, which can be multiple in a package/die. ---------- tools/power/x86/intel-speed-select: Remove cpu mask display for non-cpu power domain tools/power/x86/intel-speed-select: Display fact info for non-cpu power domain -There are some power domains with no CPUs, the above patches adds CPU as invalid for these domains ---------- tools/power/x86/intel-speed-select: Use cgroup v2 isolation - Adds new option to use Cgroup CPU isolation instead of offline of CPUs ---------- tools/power/x86/intel-speed-select: Change TRL display for Emerald Rapids - Emerald Rapid has multiple TRL levels and moves away from TRL level based on instruction type -------------------------------------- The base branch for these changes https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git branch: review-hans The following changes since commit 6f561677c2f234bcf215350b76f2a2fea95fbebf: platform/x86/intel: vsec: Use intel_vsec_dev_release() to simplify init() error cleanup (2023-03-20 15:20:05 +0100) are available in the Git repository at: https://github.com/spandruvada/linux-kernel.git intel-sst for you to fetch changes up to 19799d3ae2edec99435b792cfe76b1cba74665fe: tools/power/x86/intel-speed-select: Update version (2023-03-22 13:41:17 -0700) ---------------------------------------------------------------- Srinivas Pandruvada (6): tools/power/x86/intel-speed-select: Get punit core mapping information tools/power/x86/intel-speed-select: Add missing free cpuset tools/power/x86/intel-speed-select: Use cgroup v2 isolation tools/power/x86/intel-speed-select: Display AMX base frequency tools/power/x86/intel-speed-select: Identify Emerald Rapids tools/power/x86/intel-speed-select: Change TRL display for Emerald Rapids Zhang Rui (55): tools/power/x86/intel-speed-select: Unify TRL levels tools/power/x86/intel-speed-select: Follow TRL nameing for FACT info tools/power/x86/intel-speed-select: Introduce punit to isst_id tools/power/x86/intel-speed-select: Introduce isst_is_punit_valid() tools/power/x86/intel-speed-select: Introduce support for multi- punit tools/power/x86/intel-speed-select: Rename for_each_online_package_in_set tools/power/x86/intel-speed-select: Improve isst_print_extended_platform_info tools/power/x86/intel-speed-select: Move mbox functions to isst- core.c tools/power/x86/intel-speed-select: Introduce isst_get_disp_freq_multiplier tools/power/x86/intel-speed-select: Always invoke isst_fill_platform_info tools/power/x86/intel-speed-select: Introduce isst-core-mbox.c tools/power/x86/intel-speed-select: Abstract is_punit_valid tools/power/x86/intel-speed-select: Abstract get_config_levels tools/power/x86/intel-speed-select: Abstract get_ctdp_control tools/power/x86/intel-speed-select: Abstract get_tdp_info tools/power/x86/intel-speed-select: Abstract get_pwr_info tools/power/x86/intel-speed-select: Move code right before its caller tools/power/x86/intel-speed-select: Abstract get_tjmax_info tools/power/x86/intel-speed-select: Abstract get_coremask_info tools/power/x86/intel-speed-select: Abstract get_get_trl tools/power/x86/intel-speed-select: Abstract get_trl_bucket_info tools/power/x86/intel-speed-select: Abstract set_tdp_level tools/power/x86/intel-speed-select: Abstract get_pbf_info tools/power/x86/intel-speed-select: Remove isst_get_pbf_info_complete tools/power/x86/intel-speed-select: Abstract set_pbf_fact_status tools/power/x86/intel-speed-select: Abstract get_fact_info tools/power/x86/intel-speed-select: Abstract get_uncore_p0_p1_info tools/power/x86/intel-speed-select: Enhance get_tdp_info tools/power/x86/intel-speed-select: Abstract get_get_trls tools/power/x86/intel-speed-select: Abstract get_clos_information tools/power/x86/intel-speed-select: Abstract pm_qos_config tools/power/x86/intel-speed-select: Abstract pm_get_clos tools/power/x86/intel-speed-select: Abstract set_clos tools/power/x86/intel-speed-select: Abstract clos_get_assoc_status tools/power/x86/intel-speed-select: Abstract clos_associate tools/power/x86/intel-speed-select: Abstract read_pm_config tools/power/x86/intel-speed-select: Abstract adjust_uncore_freq tools/power/x86/intel-speed-select: Move send_mbox_cmd to isst- core-mbox.c tools/power/x86/intel-speed-select: Allow api_version based platform callbacks tools/power/x86/intel-speed-select: Introduce is_debug_enabled() tools/power/x86/intel-speed-select: Support large clos_min/max tools/power/x86/intel-speed-select: Introduce api_version helper tools/power/x86/intel-speed-select: Introduce TPMI interface support tools/power/x86/intel-speed-select: Display punit info tools/power/x86/intel-speed-select: Display amx_p1 and cooling_type tools/power/x86/intel-speed-select: Allow display non-cpu power domain info tools/power/x86/intel-speed-select: Prevent cpu clos config for non-cpu power domain tools/power/x86/intel-speed-select: Show level 0 name for new api_version tools/power/x86/intel-speed-select: Display fact info for non-cpu power domain tools/power/x86/intel-speed-select: Hide invalid TRL level tools/power/x86/intel-speed-select: Remove cpu mask display for non-cpu power domain tools/power/x86/intel-speed-select: Avoid setting duplicate tdp level tools/power/x86/intel-speed-select: Add cpu id check tools/power/x86/intel-speed-select: Fix clos-max display with TPMI I/F tools/power/x86/intel-speed-select: Update version tools/power/x86/intel-speed-select/Build | 2 +- tools/power/x86/intel-speed-select/isst-config.c | 769 +++++++++++++++++-------------- tools/power/x86/intel-speed-select/isst-core-mbox.c | 1066 +++++++++++++++++++++++++++++++++++++++++++ tools/power/x86/intel-speed-select/isst-core-tpmi.c | 787 ++++++++++++++++++++++++++++++++ tools/power/x86/intel-speed-select/isst-core.c | 846 ++++++----- ----------------------- tools/power/x86/intel-speed-select/isst-daemon.c | 38 +- tools/power/x86/intel-speed-select/isst-display.c | 245 +++++----- tools/power/x86/intel-speed-select/isst.h | 96 ++-- 8 files changed, 2617 insertions(+), 1232 deletions(-) create mode 100644 tools/power/x86/intel-speed-select/isst-core-mbox.c create mode 100644 tools/power/x86/intel-speed-select/isst-core-tpmi.c Thanks, Srinivas