Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-6.10-rc1 with top-most commit de1c2722e07819c7ea65bb4bf37a2cfe2556095b Merge branches 'pm-em' and 'pm-docs' on top of commit dd5a440a31fae6e459c0d6271dddd62825505361 Linux 6.9-rc7 to receive power management updates for 6.10-rc1. These are mostly cpufreq updates, including a significant intel-pstate driver update and several amd-pstate improvements plus some updates of ARM cpufreq drivers, general fixes and cleanups. Also included are changes related to system sleep, power capping updates adding support for a new platform and a new hardware feature (among other things), a Samsung exynos-asv driver update allowing it to change its Energy Model after adjusting voltage, minor cpuidle and devfreq updates and a small documentation cleanup. Specifics: - Rework the handling of disabled turbo in the intel_pstate driver and make it update the maximum CPU frequency consistently regardless of the reason on top of a number of cleanups (Rafael Wysocki). - Add missing checks for NULL .exit() cpufreq driver callback to the cpufreq core (Viresh Kumar). - Prevent pulicy->max from going above the frequency QoS maximum value when cpufreq_frequency_table_verify() is used (Xuewen Yan). - Prevent a negative CPU number or frequency value from being printed if they are really large (Joshua Yeong). - Update MAINTAINERS entry for amd-pstate to add two new submaintainers and a designated reviewer (Huang Rui). - Clean up the amd-pstate driver and update its documentation (Gautham Shenoy). - Fix the highest frequency issue in the amd-pstate driver which limits performance (Perry Yuan). - Enable CPPC v2 for certain processors in the family 17H, as requested by TR40 processor users who expect improved performance and lower system temperature (Perry Yuan). - Change latency and delay values to be read from platform firmware firstly for more accurate timing (Perry Yuan). - A new quirk is introduced for supporting amd-pstate on legacy processors which either lack CPPC capability, or only only have CPPC v2 capability (Perry Yuan). - Sun50i cpufreq: Add support for opp_supported_hw, H616 platform and general cleanups (Andre Przywara, Martin Botka, Brandon Cheo Fusi, Dan Carpenter, Viresh Kumar). - CPPC cpufreq: Fix possible null pointer dereference (Aleksandr Mishin). - Eliminate uses of of_node_put() from cpufreq (Javier Carrasco, Shivani Gupta). - brcmstb-avs: ISO C90 forbids mixed declarations (Portia Stephens). - mediatek cpufreq: Add support for MT7988A (Sam Shih). - cpufreq-qcom-hw: Add SM4450 compatibles in DT bindings (Tengfei Fan). - Fix struct cpudata::epp_cached kernel-doc in the intel_pstate cpufreq driver (Jeff Johnson). - Fix kerneldoc description of ladder_do_selection() (Jeff Johnson). - Convert the cpuidle kirkwood driver to platform remove callback returning void (Yangtao Li). - Replace deprecated strncpy() with strscpy() in the hibernation core code (Justin Stitt). - Use %ps to simplify debug output in the core system-wide suspend and resume code (Len Brown). - Remove unnecessary else from device_init_wakeup() and make device_wakeup_disable() return void (Dhruva Gole). - Enable PMU support in the Intel TPMI RAPL driver (Zhang Rui). - Add support for ArrowLake-H platform to the Intel RAPL driver (Zhang Rui). - Avoid explicit cpumask allocation on stack in DTPM (Dawei Li). - Make the Samsung exynos-asv driver update the Energy Model after adjusting voltage on top of some preliminary changes of the OPP and Enery Model generic code (Lukasz Luba). - Remove a reference to a function that has been dropped from the power management documentation (Bjorn Helgaas). - Convert the platfrom remove callback to .remove_new for the exyno-nocp, exynos-ppmu, mtk-cci-devfreq, sun8i-a33-mbus, and rk3399_dmc devfreq drivers (Uwe Kleine-König). - Use DEFINE_SIMPLE_PM_OPS for exyno-bus.c driver (Anand Moon). Thanks! --------------- Aleksandr Mishin (1): cppc_cpufreq: Fix possible null pointer dereference Anand Moon (1): PM / devfreq: exynos: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions Andre Przywara (2): cpufreq: sun50i: Add support for opp_supported_hw arm64: dts: allwinner: h616: enable DVFS for all boards Arnd Bergmann (1): cpufreq: intel_pstate: hide unused intel_pstate_cpu_oob_ids[] Bjorn Helgaas (1): Documentation: PM: Update platform_pci_wakeup_init() reference Brandon Cheo Fusi (1): cpufreq: sun50i: Refactor speed bin decoding Dan Carpenter (1): cpufreq: sun50i: fix error returns in dt_has_supported_hw() Dawei Li (1): powercap: DTPM: Avoid explicit cpumask allocation on stack Dhruva Gole (2): PM: wakeup: make device_wakeup_disable() return void PM: wakeup: Remove unnecessary else from device_init_wakeup() Gautham R. Shenoy (3): cpufreq: amd-pstate: Document *_limit_* fields in struct amd_cpudata cpufreq: amd-pstate: Document the units for freq variables in amd_cpudata cpufreq: amd-pstate: Remove amd_get_{min,max,nominal,lowest_nonlinear}_freq() Huang Rui (1): MAINTAINERS: cpufreq: amd-pstate: Add co-maintainers and reviewer Javier Carrasco (3): cpupfreq: tegra124: eliminate uses of of_node_put() cpufreq: dt: eliminate uses of of_node_put() cpufreq: dt-platdev: eliminate uses of of_node_put() Jeff Johnson (2): cpuidle: ladder: fix ladder_do_selection() kernel-doc cpufreq: intel_pstate: fix struct cpudata::epp_cached kernel-doc Joshua Yeong (1): cpufreq: Fix up printing large CPU numbers and frequency values Justin Stitt (1): PM: hibernate: replace deprecated strncpy() with strscpy() Len Brown (1): PM: sleep: Take advantage of %ps to simplify debug output Lukasz Luba (4): OPP: OF: Export dev_opp_pm_calc_power() for usage from EM PM: EM: Refactor em_adjust_new_capacity() PM: EM: Add em_dev_update_chip_binning() soc: samsung: exynos-asv: Update Energy Model after adjusting voltage Martin Botka (5): firmware: smccc: Export revision soc_id function cpufreq: dt-platdev: Blocklist Allwinner H616/618 SoCs dt-bindings: opp: Describe H616 OPPs and opp-supported-hw cpufreq: sun50i: Add H616 support arm64: dts: allwinner: h616: Add CPU OPPs table Perry Yuan (8): cpufreq: amd-pstate: Unify computation of {max,min,nominal,lowest_nonlinear}_freq cpufreq: amd-pstate: Bail out if min/max/nominal_freq is 0 cpufreq: amd-pstate: get transition delay and latency value from ACPI tables cppc_acpi: print error message if CPPC is unsupported cpufreq: amd-pstate: Add quirk for the pstate CPPC capabilities missing cpufreq: amd-pstate: fix code format problems cpufreq: amd-pstate: remove unused variable lowest_nonlinear_freq cpufreq: amd-pstate: fix the highest frequency issue which limits performance Portia Stephens (1): cpufreq: brcmstb-avs-cpufreq: ISO C90 forbids mixed declarations Rafael J. Wysocki (11): cpufreq: intel_pstate: Drop redundant locking from intel_pstate_driver_cleanup() cpufreq: intel_pstate: Simplify spinlock locking cpufreq: intel_pstate: Wait for canceled delayed work to complete cpufreq: intel_pstate: Get rid of unnecessary READ_ONCE() annotations cpufreq: intel_pstate: Use __ro_after_init for three variables cpufreq: intel_pstate: Fold intel_pstate_max_within_limits() into caller cpufreq: intel_pstate: Do not update global.turbo_disabled after initialization cpufreq: intel_pstate: Rearrange show_no_turbo() and store_no_turbo() cpufreq: intel_pstate: Read global.no_turbo under READ_ONCE() cpufreq: intel_pstate: Replace three global.turbo_disabled checks cpufreq: intel_pstate: Update the maximum CPU frequency consistently Sam Shih (1): cpufreq: mediatek: Add support for MT7988A Shivani Gupta (1): cpufreq: ti: Implement scope-based cleanup in ti_cpufreq_match_node() Tengfei Fan (1): dt-bindings: cpufreq: cpufreq-qcom-hw: Add SM4450 compatibles Uwe Kleine-König (5): PM / devfreq: exynos-nocp: Convert to platform remove callback returning void PM / devfreq: exynos-ppmu: Convert to platform remove callback returning void PM / devfreq: mtk-cci: Convert to platform remove callback returning void PM / devfreq: sun8i-a33-mbus: Convert to platform remove callback returning void PM / devfreq: rk3399_dmc: Convert to platform remove callback returning void Viresh Kumar (2): cpufreq: exit() callback is optional cpufreq: sun50i: Fix build warning around snprint() Xuewen Yan (1): cpufreq: Use a smaller freq for the policy->max when verify Yangtao Li (1): cpuidle: kirkwood: Convert to platform remove callback returning void Zhang Rui (4): powercap: intel_rapl: Add support for ArrowLake-H platform powercap: intel_rapl: Sort header files powercap: intel_rapl: Introduce APIs for PMU support powercap: intel_rapl_tpmi: Enable PMU support --------------- .../bindings/cpufreq/cpufreq-qcom-hw.yaml | 2 + .../opp/allwinner,sun50i-h6-operating-points.yaml | 87 ++- Documentation/power/pci.rst | 2 +- MAINTAINERS | 3 + .../dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 5 + .../boot/dts/allwinner/sun50i-h616-cpu-opp.dtsi | 115 ++++ .../dts/allwinner/sun50i-h616-orangepi-zero2.dts | 5 + .../boot/dts/allwinner/sun50i-h616-x96-mate.dts | 5 + arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 8 + .../allwinner/sun50i-h618-longan-module-3h.dtsi | 5 + .../dts/allwinner/sun50i-h618-orangepi-zero2w.dts | 5 + .../dts/allwinner/sun50i-h618-orangepi-zero3.dts | 5 + .../allwinner/sun50i-h618-transpeed-8k618-t.dts | 5 + drivers/acpi/cppc_acpi.c | 4 +- drivers/base/power/main.c | 6 +- drivers/base/power/wakeup.c | 11 +- drivers/cpufreq/amd-pstate.c | 280 ++++++---- drivers/cpufreq/brcmstb-avs-cpufreq.c | 5 +- drivers/cpufreq/cppc_cpufreq.c | 14 +- drivers/cpufreq/cpufreq-dt-platdev.c | 10 +- drivers/cpufreq/cpufreq-dt.c | 21 +- drivers/cpufreq/cpufreq.c | 11 +- drivers/cpufreq/freq_table.c | 12 +- drivers/cpufreq/intel_pstate.c | 173 +++--- drivers/cpufreq/mediatek-cpufreq.c | 10 + drivers/cpufreq/sun50i-cpufreq-nvmem.c | 209 +++++-- drivers/cpufreq/tegra124-cpufreq.c | 19 +- drivers/cpufreq/ti-cpufreq.c | 4 +- drivers/cpuidle/cpuidle-kirkwood.c | 5 +- drivers/cpuidle/governors/ladder.c | 1 + drivers/devfreq/event/exynos-nocp.c | 6 +- drivers/devfreq/event/exynos-ppmu.c | 6 +- drivers/devfreq/exynos-bus.c | 9 +- drivers/devfreq/mtk-cci-devfreq.c | 6 +- drivers/devfreq/rk3399_dmc.c | 6 +- drivers/devfreq/sun8i-a33-mbus.c | 6 +- drivers/firmware/smccc/smccc.c | 1 + drivers/mmc/host/sdhci-pci-core.c | 2 +- drivers/opp/of.c | 17 +- drivers/powercap/dtpm_cpu.c | 8 +- drivers/powercap/intel_rapl_common.c | 607 ++++++++++++++++++++- drivers/powercap/intel_rapl_tpmi.c | 3 + drivers/soc/samsung/exynos-asv.c | 10 +- include/linux/amd-pstate.h | 20 +- include/linux/energy_model.h | 5 + include/linux/intel_rapl.h | 32 ++ include/linux/pm_opp.h | 8 + include/linux/pm_wakeup.h | 12 +- kernel/power/energy_model.c | 106 +++- kernel/power/hibernate.c | 2 +- 50 files changed, 1481 insertions(+), 438 deletions(-)