[GIT PULL] Power management updates for v5.6-rc1

From: Rafael J. Wysocki
Date: Mon Jan 27 2020 - 11:32:07 EST


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(-)