Hi Linus, Please pull from the tag git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \ pm-5.6-rc1 with top-most commit c102671af085aacf17219e9bdcfccddc6620a866 Merge branch 'pm-devfreq' on top of commit 3a83c8c81c91fe10e7002c2c0e74b23e80f41f28 Merge tag 'pm-5.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm to receive power management updates for 5.6-rc1. These add ACPI support to the intel_idle driver along with an admin guide document for it, add support for CPR (Core Power Reduction) to the AVS (Adaptive Voltage Scaling) subsystem, add new hardware support in a few places, add some new sysfs attributes, debugfs files and tracepoints, fix bugs and clean up a bunch of things all over. Specifics: - Update the ACPI processor driver in order to export acpi_processor_evaluate_cst() to the code outside of it, add ACPI support to the intel_idle driver based on that and clean up that driver somewhat (Rafael Wysocki). - Add an admin guide document for the intel_idle driver (Rafael Wysocki). - Clean up cpuidle core and drivers, enable compilation testing for some of them (Benjamin Gaignard, Krzysztof Kozlowski, Rafael Wysocki, Yangtao Li). - Fix reference counting of OPP (operating performance points) table structures (Viresh Kumar). - Add support for CPR (Core Power Reduction) to the AVS (Adaptive Voltage Scaling) subsystem (Niklas Cassel, Colin Ian King, YueHaibing). - Add support for TigerLake Mobile and JasperLake to the Intel RAPL power capping driver (Zhang Rui). - Update cpufreq drivers: * Add i.MX8MP support to imx-cpufreq-dt (Anson Huang). * Fix usage of a macro in loongson2_cpufreq (Alexandre Oliva). * Fix cpufreq policy reference counting issues in s3c and brcmstb-avs (chenqiwu). * Fix ACPI table reference counting issue and HiSilicon quirk handling in the CPPC driver (Hanjun Guo). * Clean up spelling mistake in intel_pstate (Harry Pan). * Convert the kirkwood and tegra186 drivers to using devm_platform_ioremap_resource() (Yangtao Li). - Update devfreq core: * Add 'name' sysfs attribute for devfreq devices (Chanwoo Choi). * Clean up the handing of transition statistics and allow them to be reset by writing 0 to the 'trans_stat' devfreq device attribute in sysfs (Kamil Konieczny). * Add 'devfreq_summary' to debugfs (Chanwoo Choi). * Clean up kerneldoc comments and Kconfig indentation (Krzysztof Kozlowski, Randy Dunlap). - Update devfreq drivers: * Add dynamic scaling for the imx8m DDR controller and clean up imx8m-ddrc (Leonard Crestez, YueHaibing). * Fix DT node reference counting and nitialization error code path in rk3399_dmc and add COMPILE_TEST and HAVE_ARM_SMCCC dependency for it (Chanwoo Choi, Yangtao Li). * Fix DT node reference counting in rockchip-dfi and make it use devm_platform_ioremap_resource() (Yangtao Li). * Fix excessive stack usage in exynos-ppmu (Arnd Bergmann). * Fix initialization error code paths in exynos-bus (Yangtao Li). * Clean up exynos-bus and exynos somewhat (Artur Świgoń, Krzysztof Kozlowski). - Add tracepoints for tracking usage_count updates unrelated to status changes in PM-runtime (Michał Mirosław). - Add sysfs attribute to control the "sync on suspend" behavior during system-wide suspend (Jonas Meurer). - Switch system-wide suspend tests over to 64-bit time (Alexandre Belloni). - Make wakeup sources statistics in debugfs cover deleted ones which used to be the case some time ago (zhuguangqing). - Clean up computations carried out during hibernation, update messages related to hibernation and fix a spelling mistake in one of them (Wen Yang, Luigi Semenzato, Colin Ian King). - Add mailmap entry for maintainer e-mail address that has not been functional for several years (Rafael Wysocki). Thanks! --------------- Alexandre Belloni (1): PM: sleep: Switch to rtc_time64_to_tm()/rtc_tm_to_time64() Alexandre Oliva (1): cpufreq: loongson2_cpufreq: adjust cpufreq uses of LOONGSON_CHIPCFG Anson Huang (2): cpufreq: Use imx-cpufreq-dt for i.MX8MP's speed grading cpufreq: imx-cpufreq-dt: Add i.MX8MP support Arnd Bergmann (1): PM / devfreq: exynos-ppmu: Fix excessive stack usage Artur Świgoń (3): PM / devfreq: exynos-bus: Extract exynos_bus_profile_init() PM / devfreq: exynos-bus: Extract exynos_bus_profile_init_passive() PM / devfreq: exynos-bus: Reduce goto statements and remove unused headers Benjamin Gaignard (3): cpuidle: coupled: fix warnings when compiling with W=1 cpuidle: sysfs: fix warnings when compiling with W=1 cpuidle: fix cpuidle_find_deepest_state() kerneldoc warnings Chanwoo Choi (3): PM / devfreq: Add new name attribute for sysfs PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency PM / devfreq: Add debugfs support with devfreq_summary file Colin Ian King (2): power: avs: fix uninitialized error return on failed cpr_read_fuse_uV() call PM: hibernate: fix spelling mistake "shapshot" -> "snapshot" Hanjun Guo (2): cpufreq : CPPC: Break out if HiSilicon CPPC workaround is matched cpufreq: CPPC: put ACPI table after using it Harry Pan (1): cpufreq: intel_pstate: fix spelling mistake: "Whethet" -> "Whether" Jonas Meurer (1): PM: suspend: Add sysfs attribute to control the "sync on suspend" behavior Kamil Konieczny (4): PM / devfreq: Change time stats to 64-bit PM / devfreq: Add clearing transitions stats PM / devfreq: Move statistics to separate struct devfreq_stats PM / devfreq: Move declaration of DEVICE_ATTR_RW(min_freq) Krzysztof Kozlowski (3): PM / devfreq: Fix Kconfig indentation PM / devfreq: exynos: Rename Exynos to lowercase cpuidle: arm: Enable compile testing for some of drivers Leonard Crestez (3): dt-bindings: memory: Add bindings for imx8m ddr controller PM / devfreq: Add dynamic scaling for imx8m ddr controller PM / devfreq: imx8m-ddrc: Remove unused defines Luigi Semenzato (1): PM: hibernate: Add more logging on hibernation failure Michał Mirosław (1): PM-runtime: add tracepoints for usage_count changes Niklas Cassel (7): dt-bindings: power: avs: Add support for CPR (Core Power Reduction) power: avs: Add support for CPR (Core Power Reduction) power: avs: qcom-cpr: fix invalid printk specifier in debug print power: avs: qcom-cpr: fix unsigned expression compared with zero power: avs: qcom-cpr: make sure that regmap is available power: avs: qcom-cpr: remove set but unused variable power: avs: qcom-cpr: make cpr_get_opp_hz_for_req() static Rafael J. Wysocki (22): ACPI: processor: Export function to claim _CST control ACPI: processor: Introduce acpi_processor_evaluate_cst() ACPI: processor: Clean up acpi_processor_evaluate_cst() mailmap: Add entry for <rjw@xxxxxxx> ACPI: processor: Make ACPI_PROCESSOR_CSTATE depend on ACPI_PROCESSOR ACPI: processor: Export acpi_processor_evaluate_cst() intel_idle: Refactor intel_idle_cpuidle_driver_init() intel_idle: Use ACPI _CST for processor models without C-state tables cpuidle: Allow idle states to be disabled by default intel_idle: Allow ACPI _CST to be used for selected known processors intel_idle: Add module parameter to prevent ACPI _CST from being used intel_idle: Use ACPI _CST on server systems cpuidle: Drop unused cpuidle_driver_ref/unref() functions Documentation: admin-guide: PM: Add intel_idle document intel_idle: Eliminate __setup_broadcast_timer() intel_idle: Fold intel_idle_probe() into intel_idle_init() intel_idle: Clean up NULL pointer check in intel_idle_init() intel_idle: Rearrange intel_idle_cpuidle_driver_init() intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit() intel_idle: Annotate initialization code and data structures intel_idle: Move 3 functions closer to their callers intel_idle: Clean up irtl_2_usec() Randy Dunlap (1): PM / devfreq: Fix multiple kernel-doc warnings Viresh Kumar (2): opp: Free static OPPs on errors while adding them opp: Replace list_kref with a local counter Wen Yang (1): PM: hibernate: improve arithmetic division in preallocate_highmem_fraction() Yangtao Li (10): cpuidle: clps711x: convert to devm_platform_ioremap_resource() cpuidle: kirkwood: convert to devm_platform_ioremap_resource() PM / devfreq: rockchip-dfi: Add missing of_node_put() PM / devfreq: rk3399_dmc: Add missing of_node_put() PM / devfreq: rockchip-dfi: Convert to devm_platform_ioremap_resource PM / devfreq: rk3399_dmc: Disable devfreq-event device when fails PM / devfreq: exynos-bus: Disable devfreq-event device when fails PM / devfreq: exynos-bus: Add error log when fail to get devfreq-event cpufreq: kirkwood: convert to devm_platform_ioremap_resource cpufreq: tegra186: convert to devm_platform_ioremap_resource YueHaibing (2): PM / devfreq: imx8m-ddrc: Fix inconsistent IS_ERR and PTR_ERR power: avs: qcom-cpr: remove duplicated include from qcom-cpr.c Zhang Rui (3): powercap/intel_rapl: add support for TigerLake Mobile x86/cpu: Add Jasper Lake to Intel family powercap/intel_rapl: add support for JasperLake chenqiwu (2): cpufreq: s3c: fix unbalances of cpufreq policy refcount cpufreq: brcmstb-avs: fix imbalance of cpufreq policy refcount zhuguangqing (1): PM: wakeup: Show statistics for deleted wakeup sources again --------------- .mailmap | 1 + Documentation/ABI/testing/sysfs-class-devfreq | 18 +- Documentation/ABI/testing/sysfs-devices-system-cpu | 6 + Documentation/ABI/testing/sysfs-power | 13 + Documentation/admin-guide/pm/cpuidle.rst | 3 + Documentation/admin-guide/pm/intel_idle.rst | 246 +++ Documentation/admin-guide/pm/working-state.rst | 1 + .../memory-controllers/fsl/imx8m-ddrc.yaml | 72 + .../devicetree/bindings/power/avs/qcom,cpr.txt | 130 ++ MAINTAINERS | 8 + arch/x86/include/asm/intel-family.h | 1 + drivers/acpi/Kconfig | 1 + drivers/acpi/acpi_processor.c | 182 ++ drivers/acpi/processor_idle.c | 174 +- drivers/base/power/runtime.c | 13 +- drivers/base/power/wakeup.c | 3 + drivers/cpufreq/brcmstb-avs-cpufreq.c | 2 + drivers/cpufreq/cppc_cpufreq.c | 8 +- drivers/cpufreq/cpufreq-dt-platdev.c | 1 + drivers/cpufreq/imx-cpufreq-dt.c | 6 +- drivers/cpufreq/intel_pstate.c | 2 +- drivers/cpufreq/kirkwood-cpufreq.c | 4 +- drivers/cpufreq/loongson2_cpufreq.c | 8 +- drivers/cpufreq/s3c2416-cpufreq.c | 12 +- drivers/cpufreq/s5pv210-cpufreq.c | 11 +- drivers/cpufreq/tegra186-cpufreq.c | 4 +- drivers/cpuidle/Kconfig.arm | 12 +- drivers/cpuidle/coupled.c | 9 +- drivers/cpuidle/cpuidle-clps711x.c | 5 +- drivers/cpuidle/cpuidle-kirkwood.c | 5 +- drivers/cpuidle/cpuidle.c | 9 +- drivers/cpuidle/driver.c | 46 - drivers/cpuidle/sysfs.c | 16 +- drivers/devfreq/Kconfig | 21 +- drivers/devfreq/Makefile | 1 + drivers/devfreq/devfreq-event.c | 4 +- drivers/devfreq/devfreq.c | 166 +- drivers/devfreq/event/Kconfig | 6 +- drivers/devfreq/event/exynos-nocp.c | 2 +- drivers/devfreq/event/exynos-nocp.h | 2 +- drivers/devfreq/event/exynos-ppmu.c | 15 +- drivers/devfreq/event/exynos-ppmu.h | 2 +- drivers/devfreq/event/rockchip-dfi.c | 5 +- drivers/devfreq/exynos-bus.c | 155 +- drivers/devfreq/imx8m-ddrc.c | 471 +++++ drivers/devfreq/rk3399_dmc.c | 19 +- drivers/idle/intel_idle.c | 482 ++++-- drivers/opp/core.c | 48 +- drivers/opp/of.c | 31 +- drivers/opp/opp.h | 6 +- drivers/power/avs/Kconfig | 16 + drivers/power/avs/Makefile | 1 + drivers/power/avs/qcom-cpr.c | 1793 ++++++++++++++++++++ drivers/powercap/intel_rapl_common.c | 2 + include/linux/acpi.h | 15 + include/linux/cpuidle.h | 6 +- include/linux/devfreq.h | 29 +- include/linux/suspend.h | 2 + include/trace/events/rpm.h | 6 + kernel/power/Kconfig | 5 +- kernel/power/hibernate.c | 23 +- kernel/power/main.c | 33 + kernel/power/snapshot.c | 28 +- kernel/power/suspend.c | 2 +- kernel/power/suspend_test.c | 6 +- 65 files changed, 3829 insertions(+), 606 deletions(-)