Hi, On 3/23/23 00:22, Pandruvada, Srinivas wrote: > Hi Hans, > > Pull request for Intel Speed Select version v1.15: Thanks. I've merged the current intel-sst branch / commit 19799d3ae2edec99435b792cfe76b1cba74665fe into review-hans as is. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > 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