[GIT PULL] Power management updates for v6.5-rc1

From: Rafael J. Wysocki
Date: Mon Jun 26 2023 - 13:22:28 EST


Hi Linus,

Please pull from the tag

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-6.5-rc1

with top-most commit c89a27f4f8fbf4dcbaf1738b42b8c68e160d7cda

Merge branch 'powercap'

on top of commit 45a3e24f65e90a047bef86f927ebdc4c710edaa1

Linux 6.4-rc7

to receive power management updates for 6.5-rc1.

These add Intel TPMI ((Topology Aware Register and PM Capsule Interface)
support to the power capping subsystem, extend the intel_idle driver to
work in VM guests where MWAIT is not available, extend the system-wide
power management diagnostics, fix bugs and clean up code.

Specifics:

- Introduce power capping core support for Intel TPMI (Topology Aware
Register and PM Capsule Interface) and a TPMI interface driver for
Intel RAPL (Zhang Rui, Dan Carpenter).

- Fix CONFIG_IOSF_MBI dependency in the Intel RAPL power capping
driver (Zhang Rui).

- Fix invalid initialization for pl4_supported field in the Intel RAPL
power capping driver (Sumeet Pawnikar).

- Clean up the intel_idle driver, make it work with VM guests that
cannot use the MWAIT instruction and address the case in which the
host may enter a deep idle state when the guest is idle (Arjan van
de Ven).

- Prevent cpufreq drivers that provide the ->adjust_perf() callback
without a ->fast_switch() one which is used as a fallback from the
former in some cases (Wyes Karny).

- Fix some issues related to the AMD P-state cpufreq driver (Mario
Limonciello, Wyes Karny).

- Fix the energy_performance_preference attribute handling in the
intel_pstate driver in passive mode (Tero Kristo).

- Fix the handling of pm_suspend_target_state when CONFIG_PM is unset
(Kai-Heng Feng).

- Correct spelling mistake in a comment in the hibernation code (Wang
Honghui).

- Add arch_resume_nosmt() prototype to avoid a "missing prototypes"
build warning (Arnd Bergmann).

- Restrict pm_pr_dbg() to system-wide power transitions and use it in
a few additional places (Mario Limonciello).

- Drop verification of in-params from genpd_add_device() and ensure
that all of its callers will do it (Ulf Hansson).

- Prevent possible integer overflows from occurring in
genpd_parse_state() (Nikita Zhandarovich).

- Reorder fields in 'struct devfreq_dev_status' to reduce its size
somewhat (Christophe JAILLET).

- Ensure that the Exynos PPMU driver is already loaded before the
Exynos Bus driver starts probing so as to avoid a possible freeze
loading of the kernel modules (Marek Szyprowski).

- Fix variable deferencing before NULL check in the mtk-cci devfreq
driver (Sukrut Bellary).

Thanks!


---------------

Arjan van de Ven (4):
intel_idle: refactor state->enter manipulation into its own function
intel_idle: clean up the (new) state_update_enter_method function
intel_idle: Add support for using intel_idle in a VM guest using just hlt
intel_idle: Add a "Long HLT" C1 state for the VM guest mode

Arnd Bergmann (1):
PM: suspend: add a arch_resume_nosmt() prototype

Christophe JAILLET (1):
PM / devfreq: Reorder fields in 'struct devfreq_dev_status'

Dan Carpenter (1):
powercap: RAPL: Fix a NULL vs IS_ERR() bug

Kai-Heng Feng (1):
PM: suspend: Fix pm_suspend_target_state handling for !CONFIG_PM

Marek Szyprowski (1):
PM / devfreq: exynos: add Exynos PPMU as a soft module dependency

Mario Limonciello (8):
include/linux/suspend.h: Only show pm_pr_dbg messages at suspend/resume
ACPI: x86: Add pm_debug_messages for LPS0 _DSM state tracking
pinctrl: amd: Use pm_pr_dbg to show debugging messages
platform/x86/amd: pmc: Use pm_pr_dbg() for suspend related messages
cpufreq: amd-pstate: Set default governor to schedutil
ACPI: CPPC: Add definition for undefined FADT preferred PM profile value
cpufreq: amd-pstate: Set a fallback policy based on preferred_profile
cpufreq: amd-pstate: Add a kernel config option to set default mode

Nikita Zhandarovich (1):
PM: domains: fix integer overflow issues in genpd_parse_state()

Sukrut Bellary (1):
PM / devfreq: mtk-cci: Fix variable deferencing before NULL check

Sumeet Pawnikar (1):
powercap: RAPL: fix invalid initialization for pl4_supported field

Tero Kristo (1):
cpufreq: intel_pstate: Fix energy_performance_preference for passive

Ulf Hansson (1):
PM: domains: Move the verification of in-params from genpd_add_device()

Wang Honghui (1):
PM: hibernate: Correct spelling mistake in a comment

Wyes Karny (3):
cpufreq: Fail driver register if it has adjust_perf without fast_switch
cpufreq: amd-pstate: Write CPPC enable bit per-socket
cpufreq: amd-pstate: Make amd-pstate EPP driver name hyphenated

Zhang Rui (16):
powercap: intel_rapl: Remove unused field in struct rapl_if_priv
powercap: intel_rapl: Allow probing without CPUID match
powercap: intel_rapl: Support per Interface rapl_defaults
powercap: intel_rapl: Support per Interface primitive information
powercap: intel_rapl: Support per domain energy/power/time unit
powercap: intel_rapl: Use index to initialize primitive information
powercap: intel_rapl: Change primitive order
powercap: intel_rapl: Use bitmap for Power Limits
powercap: intel_rapl: Cleanup Power Limits support
powercap: intel_rapl: Add support for lock bit per Power Limit
powercap: intel_rapl: Remove redundant cpu parameter
powercap: intel_rapl: Make cpu optional for rapl_package
powercap: intel_rapl: Introduce RAPL I/F type
powercap: intel_rapl: Introduce core support for TPMI interface
powercap: intel_rapl: Introduce RAPL TPMI interface driver
powercap: RAPL: Fix CONFIG_IOSF_MBI dependency

---------------

drivers/acpi/x86/s2idle.c | 52 +-
drivers/base/power/domain.c | 15 +-
drivers/base/power/wakeup.c | 5 -
drivers/cpufreq/Kconfig | 2 +-
drivers/cpufreq/Kconfig.x86 | 17 +
drivers/cpufreq/amd-pstate.c | 131 ++-
drivers/cpufreq/cpufreq.c | 3 +-
drivers/cpufreq/intel_pstate.c | 2 +
drivers/devfreq/exynos-bus.c | 1 +
drivers/devfreq/mtk-cci-devfreq.c | 3 +-
drivers/idle/intel_idle.c | 231 +++++-
drivers/pinctrl/pinctrl-amd.c | 6 +-
drivers/platform/x86/amd/pmc.c | 4 +-
drivers/powercap/Kconfig | 18 +-
drivers/powercap/Makefile | 1 +
drivers/powercap/intel_rapl_common.c | 883 ++++++++++++---------
drivers/powercap/intel_rapl_msr.c | 31 +-
drivers/powercap/intel_rapl_tpmi.c | 325 ++++++++
.../intel/int340x_thermal/processor_thermal_rapl.c | 11 +-
include/acpi/actbl.h | 3 +-
include/linux/amd-pstate.h | 4 +-
include/linux/cpufreq.h | 5 +-
include/linux/devfreq.h | 3 +-
include/linux/intel_rapl.h | 40 +-
include/linux/suspend.h | 14 +-
kernel/power/main.c | 6 +
kernel/power/snapshot.c | 2 +-
27 files changed, 1324 insertions(+), 494 deletions(-)