Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.11-rc1 with top-most commit a02bed4183c48d42a2855a4e70867b6239c45770 Merge branches 'pm-opp' and 'pm-tools' on top of commit 130abfe9a1841189975f3770e825e441acd3c87c Merge tag 'pm-6.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm to receive power management updates for 6.11-rc1. These add a new cpufreq driver for Loongson-3, add support for new features in the intel_pstate (Lunar Lake and Arrow Lake platforms, OOB mode for Emerald Rapids, highest performance change interrupt), amd-pstate (fast CPPC) and sun50i (Allwinner H700 speed bin) cpufreq drivers, simplify the cpufreq driver interface, simplify the teo cpuidle governor, adjust the pm-graph utility for a new version of Python, address issues and clean up code. Specifics: - Add Loongson-3 CPUFreq driver support (Huacai Chen). - Add support for the Arrow Lake and Lunar Lake platforms and the out-of-band (OOB) mode on Emerald Rapids to the intel_pstate cpufreq driver, make it support the highest performance change interrupt and clean it up (Srinivas Pandruvada). - Switch cpufreq to new Intel CPU model defines (Tony Luck). - Simplify the cpufreq driver interface by switching the .exit() driver callback to the void return data type (Lizhe, Viresh Kumar). - Make cpufreq_boost_enabled() return bool (Dhruva Gole). - Add fast CPPC support to the amd-pstate cpufreq driver, address multiple assorted issues in it and clean it up (Perry Yuan, Mario Limonciello, Dhananjay Ugwekar, Meng Li, Xiaojian Du). - Add Allwinner H700 speed bin to the sun50i cpufreq driver (Ryan Walklin). - Fix memory leaks and of_node_put() usage in the sun50i and qcom-nvmem cpufreq drivers (Javier Carrasco). - Clean up the sti and dt-platdev cpufreq drivers (Jeff Johnson, Raphael Gallais-Pou). - Fix deferred probe handling in the TI cpufreq driver and wrong return values of ti_opp_supply_probe(), and add OPP tables for the AM62Ax and AM62Px SoCs to it (Bryan Brattlof, Primoz Fiser). - Avoid overflow of target_freq in .fast_switch() in the SCMI cpufreq driver (Jagadeesh Kona). - Use dev_err_probe() in every error path in probe in the Mediatek cpufreq driver (Nícolas Prado). - Fix kernel-doc param for longhaul_setstate in the longhaul cpufreq driver (Yang Li). - Fix system resume handling in the CPPC cpufreq driver (Riwen Lu). - Improve the teo cpuidle governor and clean up leftover comments from the menu cpuidle governor (Christian Loehle). - Clean up a comment typo in the teo cpuidle governor (Atul Kumar Pant). - Add missing MODULE_DESCRIPTION() macro to cpuidle haltpoll (Jeff Johnson). - Switch the intel_idle driver to new Intel CPU model defines (Tony Luck). - Switch the Intel RAPL driver new Intel CPU model defines (Tony Luck). - Simplify if condition in the idle_inject driver (Thorsten Blum). - Fix missing cleanup on error in _opp_attach_genpd() (Viresh Kumar). - Introduce an OF helper function to inform if required-opps is used and drop a redundant in-parameter to _set_opp_level() (Ulf Hansson). - Update pm-graph to v5.12 which includes fixes and major code revamp for python3.12 (Todd Brandt). - Address several assorted issues in the cpupower utility (Roman Storozhenko). Thanks! --------------- Atul Kumar Pant (1): cpuidle: governors: teo: Fix a typo in a comment Bryan Brattlof (2): cpufreq: ti: update OPP table for AM62Ax SoCs cpufreq: ti: update OPP table for AM62Px SoCs Christian Loehle (4): cpuidle: menu: Cleanup after loadavg removal Revert: "cpuidle: teo: Introduce util-awareness" cpuidle: teo: Remove recent intercepts metric cpuidle: teo: Don't count non-existent intercepts Dhananjay Ugwekar (2): cpufreq/amd-pstate-ut: Convert nominal_freq to khz during comparisons cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems Dhruva Gole (1): cpufreq: make cpufreq_boost_enabled() return bool Huacai Chen (1): cpufreq: Add Loongson-3 CPUFreq driver support Jagadeesh Kona (1): cpufreq: scmi: Avoid overflow of target_freq in fast switch Javier Carrasco (4): cpufreq: sun50i: fix memory leak in dt_has_supported_hw() cpufreq: sun50i: replace of_node_put() with automatic cleanup handler cpufreq: qcom-nvmem: fix memory leaks in probe error paths cpufreq: qcom-nvmem: eliminate uses of of_node_put() Jeff Johnson (2): cpufreq: dt-platdev: add missing MODULE_DESCRIPTION() macro cpuidle: haltpoll: add missing MODULE_DESCRIPTION() macro Lizhe (1): cpufreq: Make cpufreq_driver->exit() return void Mario Limonciello (3): cpufreq: amd-pstate: Allow users to write 'default' EPP string cpufreq: amd-pstate: Make amd-pstate unit tests depend on amd-pstate cpufreq: amd-pstate: Don't create attributes when registration fails Meng Li (1): cpufreq/amd-pstate: fix setting policy current frequency value Nícolas F. R. A. Prado (1): cpufreq: mediatek: Use dev_err_probe in every error path in probe Perry Yuan (15): x86/cpufeatures: Add AMD FAST CPPC feature flag cpufreq: update to sysfs_emit() for safer buffer handling cpufreq: amd-pstate: optimize the initial frequency values verification cpufreq: amd-pstate: remove unused variable nominal_freq cpufreq: amd-pstate: show CPPC debug message if CPPC is not supported cpufreq: amd-pstate: add debug message while CPPC is supported and disabled by SBIOS Documentation: PM: amd-pstate: add guided mode to the Operation mode cpufreq: amd-pstate: switch boot_cpu_has() to cpu_feature_enabled() cpufreq: amd-pstate: enable shared memory type CPPC by default cpufreq: amd-pstate: auto-load pstate driver by default cpufreq: simplify boolean parsing with kstrtobool in store function cpufreq: acpi: move MSR_K7_HWCR_CPB_DIS_BIT into msr-index.h cpufreq: amd-pstate: initialize core precision boost state cpufreq: amd-pstate: Cap the CPPC.max_perf to nominal_perf if CPB is off Documentation: cpufreq: amd-pstate: update doc for Per CPU boost control method Primoz Fiser (2): cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe() OPP: ti: Fix ti_opp_supply_probe wrong return values Raphael Gallais-Pou (3): cpufreq: sti: add missing MODULE_DEVICE_TABLE entry for stih418 cpufreq: docs: Add missing scaling_available_frequencies description cpufreq: sti: fix build warning Riwen Lu (1): cpufreq/cppc: Don't compare desired_perf in target() Roman Storozhenko (7): cpupower: Replace a dead reference link with working ones cpupower: Add 'help' target to the main Makefile cpupower: Improve cpupower build process description cpupower: Remove absent 'v' parameter from monitor man page cpupower: Change the var type of the 'monitor' subcommand display mode cpupower: Disable direct build of the 'bench' subproject cpupower: fix lib default installation path Ryan Walklin (1): cpufreq: sun50i: add Allwinner H700 speed bin Srinivas Pandruvada (8): cpufreq: intel_pstate: Update Meteor Lake EPPs cpufreq: intel_pstate: Use Meteor Lake EPPs for Arrow Lake cpufreq: intel_pstate: Support Emerald Rapids OOB mode cpufreq: intel_pstate: Update Arrow Lake hybrid scaling factor cpufreq: intel_pstate: Update Lunar Lake hybrid scaling factor cpufreq: intel_pstate: Replace boot_cpu_has() x86/cpufeatures: Add HWP highest perf change feature flag cpufreq: intel_pstate: Support highest performance change interrupt Thorsten Blum (1): powercap: idle_inject: Simplify if condition Todd Brandt (2): pm-graph: v5.12, fixes pm-graph: v5.12, code revamp for python3.12 Tony Luck (5): cpufreq: Switch to new Intel CPU model defines cpufreq: intel_pstate: Switch to new Intel CPU model defines intel_idle: Switch to new Intel CPU model defines powercap: intel_rapl_msr: Switch to new Intel CPU model defines powercap: intel_rapl: Switch to new Intel CPU model defines Ulf Hansson (2): OPP: Drop a redundant in-parameter to _set_opp_level() OPP: Introduce an OF helper function to inform if required-opps is used Viresh Kumar (4): OPP: Fix missing cleanup on error in _opp_attach_genpd() cpufreq: nforce2: Remove empty exit() callback cpufreq: loongson2: Remove empty exit() callback cpufreq: pcc: Remove empty exit() callback Xiaojian Du (1): cpufreq: amd-pstate: change cpu freq transition delay for some models Yang Li (1): cpufreq: longhaul: Fix kernel-doc param for longhaul_setstate --------------- Documentation/admin-guide/pm/amd-pstate.rst | 18 +- Documentation/admin-guide/pm/cpufreq.rst | 4 + MAINTAINERS | 1 + arch/x86/include/asm/cpufeatures.h | 2 + arch/x86/include/asm/msr-index.h | 2 + arch/x86/kernel/cpu/scattered.c | 1 + drivers/cpufreq/Kconfig | 12 + drivers/cpufreq/Kconfig.x86 | 1 + drivers/cpufreq/Makefile | 1 + drivers/cpufreq/acpi-cpufreq.c | 6 +- drivers/cpufreq/amd-pstate-ut.c | 12 +- drivers/cpufreq/amd-pstate.c | 357 +++++-- drivers/cpufreq/amd-pstate.h | 2 + drivers/cpufreq/apple-soc-cpufreq.c | 4 +- drivers/cpufreq/bmips-cpufreq.c | 4 +- drivers/cpufreq/cppc_cpufreq.c | 12 +- drivers/cpufreq/cpufreq-dt-platdev.c | 1 + drivers/cpufreq/cpufreq-dt.c | 3 +- drivers/cpufreq/cpufreq-nforce2.c | 6 - drivers/cpufreq/cpufreq.c | 50 +- drivers/cpufreq/e_powersaver.c | 3 +- drivers/cpufreq/intel_pstate.c | 131 ++- drivers/cpufreq/longhaul.c | 5 +- drivers/cpufreq/loongson2_cpufreq.c | 6 - drivers/cpufreq/loongson3_cpufreq.c | 395 +++++++ drivers/cpufreq/mediatek-cpufreq-hw.c | 4 +- drivers/cpufreq/mediatek-cpufreq.c | 76 +- drivers/cpufreq/omap-cpufreq.c | 3 +- drivers/cpufreq/pasemi-cpufreq.c | 6 +- drivers/cpufreq/pcc-cpufreq.c | 6 - drivers/cpufreq/powernow-k6.c | 5 +- drivers/cpufreq/powernow-k7.c | 3 +- drivers/cpufreq/powernow-k8.c | 6 +- drivers/cpufreq/powernv-cpufreq.c | 4 +- drivers/cpufreq/ppc_cbe_cpufreq.c | 3 +- drivers/cpufreq/qcom-cpufreq-hw.c | 4 +- drivers/cpufreq/qcom-cpufreq-nvmem.c | 12 +- drivers/cpufreq/qoriq-cpufreq.c | 4 +- drivers/cpufreq/scmi-cpufreq.c | 8 +- drivers/cpufreq/scpi-cpufreq.c | 4 +- drivers/cpufreq/sh-cpufreq.c | 4 +- drivers/cpufreq/sparc-us2e-cpufreq.c | 3 +- drivers/cpufreq/sparc-us3-cpufreq.c | 3 +- drivers/cpufreq/speedstep-centrino.c | 18 +- drivers/cpufreq/sti-cpufreq.c | 3 +- drivers/cpufreq/sun50i-cpufreq-nvmem.c | 30 +- drivers/cpufreq/tegra194-cpufreq.c | 4 +- drivers/cpufreq/ti-cpufreq.c | 96 +- drivers/cpufreq/vexpress-spc-cpufreq.c | 5 +- drivers/cpuidle/cpuidle-haltpoll.c | 1 + drivers/cpuidle/governors/menu.c | 17 +- drivers/cpuidle/governors/teo.c | 194 +--- drivers/idle/intel_idle.c | 116 +-- drivers/opp/core.c | 15 +- drivers/opp/of.c | 32 + drivers/opp/ti-opp-supply.c | 6 +- drivers/powercap/idle_inject.c | 2 +- drivers/powercap/intel_rapl_common.c | 120 +-- drivers/powercap/intel_rapl_msr.c | 16 +- include/linux/cpufreq.h | 8 +- include/linux/pm_opp.h | 6 + tools/power/cpupower/Makefile | 47 +- tools/power/cpupower/README | 160 ++- tools/power/cpupower/bench/Makefile | 5 + tools/power/cpupower/man/cpupower-monitor.1 | 13 +- .../cpupower/utils/idle_monitor/cpupower-monitor.c | 2 +- tools/power/pm-graph/bootgraph.py | 16 +- tools/power/pm-graph/sleepgraph.py | 1098 ++++++++++---------- 68 files changed, 1958 insertions(+), 1269 deletions(-)