Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.13-rc1 with top-most commit c6e2a4c9eed5249c4158bc621882d44e94af3371 Merge branch 'pm-tools' on top of commit 1a1030d10a6335bb5e6cdb24fc9388d3d9bcc1ac cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scaling() to receive power management updates for 6.13-rc1. The amd-pstate cpufreq driver gets the majority of changes this time. They are mostly fixes and cleanups, but one of them causes it to become the default cpufreq driver on some AMD server platforms. Apart from that, the menu cpuidle governor is modified to not use iowait any more, the intel_idle gets a custom C-states table for Granite Rapids Xeon D, and the intel_pstate driver will use a more aggressive Balance- performance default EPP value on Granite Rapids now. There are also some fixes, cleanups and tooling updates. Specifics: - Update the amd-pstate driver to set the initial scaling frequency policy lower bound to be the lowest non-linear frequency (Dhananjay Ugwekar). - Enable amd-pstate by default on servers starting with newer AMD Epyc processors (Swapnil Sapkal). - Align more codepaths between shared memory and MSR designs in amd-pstate (Dhananjay Ugwekar). - Clean up amd-pstate code to rename functions and remove redundant calls (Dhananjay Ugwekar, Mario Limonciello). - Do other assorted fixes and cleanups in amd-pstate (Dhananjay Ugwekar and Mario Limonciello). - Change the Balance-performance EPP value for Granite Rapids in the intel_pstate driver to a more performance-biased one (Srinivas Pandruvada). - Simplify MSR read on the boot CPU in the ACPI cpufreq driver (Chang S. Bae). - Ensure sugov_eas_rebuild_sd() is always called when sugov_init() succeeds to always enforce sched domains rebuild in case EAS needs to be enabled (Christian Loehle). - Switch cpufreq back to platform_driver::remove() (Uwe Kleine-König). - Use proper frequency unit names in cpufreq (Marcin Juszkiewicz). - Add a built-in idle states table for Granite Rapids Xeon D to the intel_idle driver (Artem Bityutskiy). - Fix some typos in comments in the cpuidle core and drivers (Shen Lichuan). - Remove iowait influence from the menu cpuidle governor (Christian Loehle). - Add min/max available performance state limits to the Energy Model management code (Lukasz Luba). - Update pm-graph to v5.13 (Todd Brandt). - Add documentation for some recently introduced cpupower utility options (Tor Vic). - Make cpupower inform users where cpufreq-bench.conf should be located when opening it fails (Peng Fan). - Allow overriding cross-compiling env params in cpupower (Peng Fan). - Add compile_commands.json to .gitignore in cpupower (John B. Wyatt IV). - Improve disable c_state block in cpupower bindings and add a test to confirm that CPU state is disabled to it (John B. Wyatt IV). - Add Chinese Simplified translation to cpupower (Kieran Moy). - Add checks for xgettext and msgfmt to cpupower (Siddharth Menon). Thanks! --------------- Artem Bityutskiy (1): intel_idle: add Granite Rapids Xeon D support Chang S. Bae (1): cpufreq: ACPI: Simplify MSR read on the boot CPU Christian Loehle (2): cpuidle: menu: Remove iowait influence sched/cpufreq: Ensure sd is rebuilt for EAS check Dhananjay Ugwekar (11): cpufreq/amd-pstate: Rename MSR and shared memory specific functions cpufreq/amd-pstate: Remove the redundant verify() function cpufreq/amd-pstate: Set the initial min_freq to lowest_nonlinear_freq cpufreq/amd-pstate: Call amd_pstate_register() in amd_pstate_init() cpufreq/amd-pstate: Call amd_pstate_set_driver() in amd_pstate_register_driver() cpufreq/amd-pstate: Remove the switch case in amd_pstate_init() cpufreq/amd-pstate: Remove the redundant amd_pstate_set_driver() call cpufreq/amd-pstate: Rename functions that enable CPPC cpufreq/amd-pstate: Do not attempt to clear MSR_AMD_CPPC_ENABLE cpufreq/amd-pstate: Call cppc_set_epp_perf in the reenable function cpufreq/amd-pstate: Align offline flow of shared memory and MSR based systems Gautham R. Shenoy (1): amd-pstate: Set min_perf to nominal_perf for active mode performance gov John B. Wyatt IV (3): pm: cpupower: gitignore: Add compile_commands.json pm: cpupower: bindings: Improve disable c_state block pm: cpupower: bindings: Add test to confirm cpu state is disabled Kieran Moy (1): cpupower: Add Chinese Simplified translation Lukasz Luba (1): PM: EM: Add min/max available performance state limits Marcin Juszkiewicz (1): cpufreq: use proper units for frequency Mario Limonciello (7): cpufreq/amd-pstate: Fix non kerneldoc comment cpufreq/amd-pstate: Don't update CPPC request in amd_pstate_cpu_boost_update() cpufreq/amd-pstate: Use amd_pstate_update_min_max_limit() for EPP limits cpufreq/amd-pstate: Drop needless EPP initialization cpufreq/amd-pstate-ut: Add fix for min freq unit test cpufreq/amd-pstate: Push adjust_perf vfunc init into cpu_init cpufreq/amd-pstate: Move registration after static function call update Peng Fan (2): pm: cpupower: bench: print config file path when open cpufreq-bench.conf fails pm: cpupower: Makefile: Allow overriding cross-compiling env params Shen Lichuan (1): cpuidle: Correct some typos in comments Siddharth Menon (1): cpupower: add checks for xgettext and msgfmt Srinivas Pandruvada (1): cpufreq: intel_pstate: Update Balance-performance EPP for Granite Rapids Swapnil Sapkal (1): amd-pstate: Switch to amd-pstate by default on some Server platforms Todd Brandt (1): pm-graph v5.13 Tor Vic (1): tools/power/cpupower: Add documentation for some recently introduced options Uwe Kleine-König (1): cpufreq: Switch back to struct platform_driver::remove() --------------- drivers/cpufreq/acpi-cpufreq.c | 9 +- drivers/cpufreq/amd-pstate-ut.c | 6 +- drivers/cpufreq/amd-pstate.c | 229 ++--- drivers/cpufreq/brcmstb-avs-cpufreq.c | 2 +- drivers/cpufreq/cpufreq-dt.c | 2 +- drivers/cpufreq/cpufreq.c | 2 +- drivers/cpufreq/davinci-cpufreq.c | 2 +- drivers/cpufreq/imx-cpufreq-dt.c | 2 +- drivers/cpufreq/imx6q-cpufreq.c | 2 +- drivers/cpufreq/intel_pstate.c | 2 + drivers/cpufreq/kirkwood-cpufreq.c | 2 +- drivers/cpufreq/loongson3_cpufreq.c | 2 +- drivers/cpufreq/mediatek-cpufreq-hw.c | 2 +- drivers/cpufreq/omap-cpufreq.c | 2 +- drivers/cpufreq/pcc-cpufreq.c | 2 +- drivers/cpufreq/qcom-cpufreq-hw.c | 2 +- drivers/cpufreq/qcom-cpufreq-nvmem.c | 2 +- drivers/cpufreq/qoriq-cpufreq.c | 2 +- drivers/cpufreq/raspberrypi-cpufreq.c | 2 +- drivers/cpufreq/scpi-cpufreq.c | 2 +- drivers/cpufreq/sun50i-cpufreq-nvmem.c | 2 +- drivers/cpufreq/tegra186-cpufreq.c | 2 +- drivers/cpufreq/tegra194-cpufreq.c | 2 +- drivers/cpufreq/vexpress-spc-cpufreq.c | 2 +- drivers/cpuidle/cpuidle-arm.c | 2 +- drivers/cpuidle/cpuidle-qcom-spm.c | 2 +- drivers/cpuidle/cpuidle.c | 2 +- drivers/cpuidle/driver.c | 4 +- drivers/cpuidle/governors/menu.c | 76 +- drivers/idle/intel_idle.c | 48 ++ include/linux/energy_model.h | 29 +- kernel/power/energy_model.c | 52 ++ kernel/sched/cpufreq_schedutil.c | 3 +- tools/power/cpupower/.gitignore | 3 + tools/power/cpupower/Makefile | 26 +- tools/power/cpupower/bench/parse.c | 5 +- .../bindings/python/test_raw_pylibcpupower.py | 28 +- tools/power/cpupower/man/cpupower-set.1 | 38 +- tools/power/cpupower/po/zh_CN.po | 942 +++++++++++++++++++++ tools/power/pm-graph/sleepgraph.8 | 3 + tools/power/pm-graph/sleepgraph.py | 59 +- 41 files changed, 1330 insertions(+), 278 deletions(-)