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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux