[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0i+dDvX2J7CHfawmFXynifkNZ-0ZHYnraYv-HYJN5bdbA@mail.gmail.com>
Date: Mon, 21 Mar 2022 17:36:05 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Linux PM <linux-pm@...r.kernel.org>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] Power management updates for v5.18-rc1
Hi Linus,
Please pull from the tag
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-5.18-rc1
with top-most commit ec3d8b8365e9865b43099e943ec5f0bc12f28f96
Merge branch 'pm-tools'
on top of commit 7e57714cd0ad2d5bb90e50b5096a0e671dec1ef3
Linux 5.17-rc6
to receive power management updates for 5.18-rc1.
These are mostly fixes and cleanups all over the code and a new
piece of documentation for Intel uncore frequency scaling.
Functionality-wise, the intel_idle driver will support Sapphire
Rapids Xeons natively now (with some extra facilities for controlling
C-states more precisely on those systems), virtual guests will take
the ACPI S4 hardware signature into account by default, the
intel_pstate driver will take the defualt EPP value from the
firmware, cpupower utility will support the AMD P-state driver added
in the previous cycle and there is a new tracer utility for that
driver.
Specifics:
- Allow device_pm_check_callbacks() to be called from interrupt
context without issues (Dmitry Baryshkov).
- Modify devm_pm_runtime_enable() to automatically handle
pm_runtime_dont_use_autosuspend() at driver exit time (Douglas
Anderson).
- Make the schedutil cpufreq governor use to_gov_attr_set() instead
of open coding it (Kevin Hao).
- Replace acpi_bus_get_device() with acpi_fetch_acpi_dev() in the
cpufreq longhaul driver (Rafael Wysocki).
- Unify show() and store() naming in cpufreq and make it use
__ATTR_XX (Lianjie Zhang).
- Make the intel_pstate driver use the EPP value set by the firmware
by default (Srinivas Pandruvada).
- Re-order the init checks in the powernow-k8 cpufreq driver (Mario
Limonciello).
- Make the ACPI processor idle driver check for architectural
support for LPI to avoid using it on x86 by mistake (Mario
Limonciello).
- Add Sapphire Rapids Xeon support to the intel_idle driver (Artem
Bityutskiy).
- Add 'preferred_cstates' module argument to the intel_idle driver
to work around C1 and C1E handling issue on Sapphire Rapids (Artem
Bityutskiy).
- Add core C6 optimization on Sapphire Rapids to the intel_idle
driver (Artem Bityutskiy).
- Optimize the haltpoll cpuidle driver a bit (Li RongQing).
- Remove leftover text from intel_idle() kerneldoc comment and fix
up white space in intel_idle (Rafael Wysocki).
- Fix load_image_and_restore() error path (Ye Bin).
- Fix typos in comments in the system wakeup hadling code (Tom Rix).
- Clean up non-kernel-doc comments in hibernation code (Jiapeng
Chong).
- Fix __setup handler error handling in system-wide suspend and
hibernation core code (Randy Dunlap).
- Add device name to suspend_report_result() (Youngjin Jang).
- Make virtual guests honour ACPI S4 hardware signature by
default (David Woodhouse).
- Block power off of a parent PM domain unless child is in deepest
state (Ulf Hansson).
- Use dev_err_probe() to simplify error handling for generic PM
domains (Ahmad Fatoum).
- Fix sleep-in-atomic bug caused by genpd_debug_remove() (Shawn Guo).
- Document Intel uncore frequency scaling (Srinivas Pandruvada).
- Add DTPM hierarchy description (Daniel Lezcano).
- Change the locking scheme in DTPM (Daniel Lezcano).
- Fix dtpm_cpu cleanup at exit time and missing virtual DTPM pointer
release (Daniel Lezcano).
- Make dtpm_node_callback[] static (kernel test robot).
- Fix spelling mistake "initialze" -> "initialize" in
dtpm_create_hierarchy() (Colin Ian King).
- Add tracer tool for the amd-pstate driver (Jinzhou Su).
- Fix PC6 displaying in turbostat on some systems (Artem Bityutskiy).
- Add AMD P-State support to the cpupower utility (Huang Rui).
Thanks!
---------------
Ahmad Fatoum (1):
PM: domains: use dev_err_probe() to simplify error handling
Andreas Rammhold (1):
tools: cpupower: fix typo in cpupower-idle-set(1) manpage
Artem Bityutskiy (4):
intel_idle: add SPR support
intel_idle: add 'preferred_cstates' module argument
intel_idle: add core C6 optimization for SPR
turbostat: fix PC6 displaying on some systems
Colin Ian King (1):
powercap: DTPM: Fix spelling mistake "initialze" -> "initialize"
Daniel Lezcano (12):
powercap/drivers/dtpm: Convert the init table section to a simple array
powercap/drivers/dtpm: Add hierarchy creation
powercap/drivers/dtpm: Add CPU DT initialization support
powercap/drivers/dtpm: Add dtpm devfreq with energy model support
rockchip/soc/drivers: Add DTPM description for rk3399
powercap/dtpm: Change locking scheme
powercap/dtpm_cpu: Reset per_cpu variable in the release function
powercap/dtpm: Fixup kfree for virtual node
powercap/dtpm: Destroy hierarchy function
powercap/dtpm: Move the 'root' reset place
powercap/dtpm_cpu: Add exit function
dtpm/soc/rk3399: Add the ability to unload the module
David Woodhouse (1):
PM: hibernate: Honour ACPI hardware signature by default for
virtual guests
Dmitry Baryshkov (1):
PM: core: keep irq flags in device_pm_check_callbacks()
Douglas Anderson (1):
PM: runtime: Have devm_pm_runtime_enable() handle
pm_runtime_dont_use_autosuspend()
Huang Rui (10):
cpupower: Add AMD P-State capability flag
cpupower: Add the function to check AMD P-State enabled
cpupower: Initial AMD P-State capability
cpupower: Add the function to get the sysfs value from specific table
cpupower: Introduce ACPI CPPC library
cpupower: Add AMD P-State sysfs definition and access helper
cpupower: Enable boost state support for AMD P-State module
cpupower: Move print_speed function into misc helper
cpupower: Add function to print AMD P-State performance capabilities
cpupower: Add "perf" option to print AMD P-State information
Jiapeng Chong (1):
PM: hibernate: Clean up non-kernel-doc comments
Jinzhou Su (4):
cpufreq: amd-pstate: Add more tracepoint for AMD P-State module
tools/power/x86/intel_pstate_tracer: make tracer as a module
tools/power/x86/amd_pstate_tracer: Add tracer tool for AMD P-state
Documentation: amd-pstate: add tracer tool introduction
Kevin Hao (2):
cpufreq: Move to_gov_attr_set() to cpufreq.h
cpufreq: schedutil: Use to_gov_attr_set() to get the gov_attr_set
Li RongQing (1):
cpuidle: haltpoll: Call cpuidle_poll_state_init() later
Lianjie Zhang (1):
cpufreq: unify show() and store() naming and use __ATTR_XX
Mario Limonciello (3):
cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
ACPI: processor idle: Check for architectural support for LPI
cpufreq: powernow-k8: Re-order the init checks
Rafael J. Wysocki (3):
cpufreq: longhaul: Replace acpi_bus_get_device()
cpuidle: intel_idle: Update intel_idle() kerneldoc comment
cpuidle: intel_idle: Drop redundant backslash at line end
Randy Dunlap (2):
PM: hibernate: fix __setup handler error handling
PM: suspend: fix return value of __setup handler
Shawn Guo (1):
PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove()
Srinivas Pandruvada (2):
Documentation: admin-guide: pm: Document uncore frequency scaling
cpufreq: intel_pstate: Use firmware default EPP
Tom Rix (1):
PM: sleep: wakeup: Fix typos in comments
Ulf Hansson (1):
PM: domains: Prevent power off for parent unless child is in deepest state
Ye Bin (1):
PM: hibernate: fix load_image_and_restore() error path
Youngjin Jang (1):
PM: sleep: Add device name to suspend_report_result()
kernel test robot (1):
powercap: DTPM: dtpm_node_callback[] can be static
ozkanonur (1):
tools/power/cpupower/{ToDo => TODO}: Rename the todo file
---------------
Documentation/admin-guide/pm/amd-pstate.rst | 26 ++
.../pm/intel_uncore_frequency_scaling.rst | 60 ++++
Documentation/admin-guide/pm/working-state.rst | 1 +
MAINTAINERS | 1 +
arch/arm64/kernel/cpuidle.c | 6 +-
arch/x86/kernel/acpi/sleep.c | 23 +-
drivers/acpi/processor_idle.c | 15 +-
drivers/acpi/sleep.c | 11 +-
drivers/base/power/domain.c | 42 ++-
drivers/base/power/main.c | 16 +-
drivers/base/power/runtime.c | 5 +
drivers/base/power/wakeirq.c | 2 +-
drivers/base/power/wakeup.c | 4 +-
drivers/cpufreq/amd-pstate-trace.h | 22 +-
drivers/cpufreq/amd-pstate.c | 59 +++-
drivers/cpufreq/cpufreq_conservative.c | 10 +-
drivers/cpufreq/cpufreq_governor.c | 6 +-
drivers/cpufreq/cpufreq_governor.h | 12 +-
drivers/cpufreq/cpufreq_governor_attr_set.c | 5 -
drivers/cpufreq/cpufreq_ondemand.c | 10 +-
drivers/cpufreq/intel_pstate.c | 38 ++-
drivers/cpufreq/longhaul.c | 4 +-
drivers/cpufreq/powernow-k8.c | 6 +-
drivers/cpuidle/cpuidle-haltpoll.c | 4 +-
drivers/idle/intel_idle.c | 111 ++++++-
drivers/pci/pci-driver.c | 14 +-
drivers/pnp/driver.c | 2 +-
drivers/powercap/Kconfig | 8 +
drivers/powercap/Makefile | 1 +
drivers/powercap/dtpm.c | 333 ++++++++++++++-----
drivers/powercap/dtpm_cpu.c | 55 +++-
drivers/powercap/dtpm_devfreq.c | 203 ++++++++++++
drivers/powercap/dtpm_subsys.h | 22 ++
drivers/soc/rockchip/Kconfig | 8 +
drivers/soc/rockchip/Makefile | 1 +
drivers/soc/rockchip/dtpm.c | 65 ++++
drivers/usb/core/hcd-pci.c | 4 +-
include/asm-generic/vmlinux.lds.h | 11 -
include/linux/acpi.h | 2 +-
include/linux/cpufreq.h | 5 +
include/linux/dtpm.h | 36 +--
include/linux/pm.h | 8 +-
include/linux/pm_runtime.h | 4 +
kernel/power/hibernate.c | 6 +-
kernel/power/suspend_test.c | 8 +-
kernel/power/swap.c | 8 +-
kernel/sched/cpufreq_schedutil.c | 2 +-
tools/power/cpupower/Makefile | 6 +-
tools/power/cpupower/{ToDo => TODO} | 0
tools/power/cpupower/lib/acpi_cppc.c | 59 ++++
tools/power/cpupower/lib/acpi_cppc.h | 21 ++
tools/power/cpupower/lib/cpufreq.c | 23 +-
tools/power/cpupower/lib/cpufreq.h | 12 +
tools/power/cpupower/man/cpupower-frequency-info.1 | 3 +
tools/power/cpupower/man/cpupower-idle-set.1 | 2 +-
tools/power/cpupower/utils/cpufreq-info.c | 87 ++---
tools/power/cpupower/utils/helpers/amd.c | 77 +++++
tools/power/cpupower/utils/helpers/cpuid.c | 13 +
tools/power/cpupower/utils/helpers/helpers.h | 22 ++
tools/power/cpupower/utils/helpers/misc.c | 60 ++++
.../x86/amd_pstate_tracer/amd_pstate_trace.py | 354 +++++++++++++++++++++
.../x86/intel_pstate_tracer/intel_pstate_tracer.py | 260 ++++++++-------
tools/power/x86/turbostat/turbostat.c | 2 +-
63 files changed, 1888 insertions(+), 418 deletions(-)
Powered by blists - more mailing lists