[GIT PULL] Power management updates for v5.19-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.19-rc1

with top-most commit 0d64482bf29917e659c556aa36cea241b17c33df

 Merge branch 'pm-tools'

on top of commit 42226c989789d8da4af1de0c31070c96726d990c

 Linux 5.18-rc7

to receive power management updates for 5.19-rc1.

These add support for "artificial" Energy Models in which power numbers
for different entities may be in different scales, add support for some
new hardware, fix bugs and clean up code in multiple places.

Specifics:

 - Update the Energy Model support code to allow the Energy Model to be
   artificial, which means that the power values may not be on a uniform
   scale with other devices providing power information, and update the
   cpufreq_cooling and devfreq_cooling thermal drivers to support
   artificial Energy Models (Lukasz Luba).

 - Make DTPM check the Energy Model type (Lukasz Luba).

 - Fix policy counter decrementation in cpufreq if Energy Model is in
   use (Pierre Gondois).

 - Add CPU-based scaling support to passive devfreq governor (Saravana
   Kannan, Chanwoo Choi).

 - Update the rk3399_dmc devfreq driver (Brian Norris).

 - Export dev_pm_ops instead of suspend() and resume() in the IIO
   chemical scd30 driver (Jonathan Cameron).

 - Add namespace variants of EXPORT[_GPL]_SIMPLE_DEV_PM_OPS and
   PM-runtime counterparts (Jonathan Cameron).

 - Move symbol exports in the IIO chemical scd30 driver into the
   IIO_SCD30 namespace (Jonathan Cameron).

 - Avoid device PM-runtime usage count underflows (Rafael Wysocki).

 - Allow dynamic debug to control printing of PM messages  (David
   Cohen).

 - Fix some kernel-doc comments in hibernation code (Yang Li, Haowen
   Bai).

 - Preserve ACPI-table override during hibernation (Amadeusz Sławiński).

 - Improve support for suspend-to-RAM for PSCI OSI mode (Ulf Hansson).

 - Make Intel RAPL power capping driver support the RaptorLake and
   AlderLake N processors (Zhang Rui, Sumeet Pawnikar).

 - Remove redundant store to value after multiply in the RAPL power
   capping driver (Colin Ian King).

 - Add AlderLake processor support to the intel_idle driver (Zhang Rui).

 - Fix regression leading to no genpd governor in the PSCI cpuidle
   driver and fix the riscv-sbi cpuidle driver to allow a genpd
   governor to be used (Ulf Hansson).

 - Fix cpufreq governor clean up code to avoid using kfree() directly
   to free kobject-based items (Kevin Hao).

 - Prepare cpufreq for powerpc's asm/prom.h cleanup (Christophe Leroy).

 - Make intel_pstate notify frequency invariance code when no_turbo is
   turned on and off (Chen Yu).

 - Add Sapphire Rapids OOB mode support to intel_pstate (Srinivas
   Pandruvada).

 - Make cpufreq avoid unnecessary frequency updates due to mismatch
   between hardware and the frequency table (Viresh Kumar).

 - Make remove_cpu_dev_symlink() clear the real_cpus mask to simplify
   code (Viresh Kumar).

 - Rearrange cpufreq_offline() and cpufreq_remove_dev() to make the
   calling convention for some driver callbacks consistent (Rafael
   Wysocki).

 - Avoid accessing half-initialized cpufreq policies from the show()
   and store() sysfs functions (Schspa Shi).

 - Rearrange cpufreq_offline() to make the calling convention for some
   driver callbacks consistent (Schspa Shi).

 - Update CPPC handling in cpufreq (Pierre Gondois).

 - Extend dev_pm_domain_detach() doc (Krzysztof Kozlowski).

 - Move genpd's time-accounting to ktime_get_mono_fast_ns() (Ulf
   Hansson).

 - Improve the way genpd deals with its governors (Ulf Hansson).

 - Update the turbostat utility to version 2022.04.16 (Len Brown,
   Dan Merillat, Sumeet Pawnikar, Zephaniah E. Loss-Cutler-Hull, Chen
   Yu).

Thanks!


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

Amadeusz Sławiński (1):
      x86/ACPI: Preserve ACPI-table override during hibernation

Brian Norris (15):
      dt-bindings: devfreq: rk3399_dmc: Convert to YAML
      dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant properties
      dt-bindings: devfreq: rk3399_dmc: Fix Hz units
      dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
      dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
      PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
      PM / devfreq: rk3399_dmc: Drop excess timing properties
      PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
      PM / devfreq: rk3399_dmc: Support new disable-freq properties
      PM / devfreq: rk3399_dmc: Support new *-ns properties
      PM / devfreq: rk3399_dmc: Disable edev on remove()
      PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
      PM / devfreq: rk3399_dmc: Avoid static (reused) profile
      soc: rockchip: power-domain: Manage resource conflicts with firmware
      PM / devfreq: rk3399_dmc: Block PMU during transitions

Chanwoo Choi (4):
      PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
      PM / devfreq: passive: Reduce duplicate code when passive_devfreq case
      PM / devfreq: passive: Keep cpufreq_policy for possible cpus
      PM / devfreq: passive: Return non-error when not-supported event
is required

Chen Yu (2):
      cpufreq: intel_pstate: Handle no_turbo in frequency invariance
      tools/power turbostat: Support thermal throttle count print

Christophe Leroy (1):
      cpufreq: Prepare cleanup of powerpc's asm/prom.h

Colin Ian King (1):
      powercap: intel_rapl: remove redundant store to value after multiply

Dan Merillat (1):
      tools/power turbostat: fix dump for AMD cpus

David Cohen (2):
      PM: sleep: Narrow down -DDEBUG on kernel/power/ files
      PM: sleep: enable dynamic debug support within pm_pr_dbg()

Haowen Bai (1):
      PM: hibernate: Don't mark comment as kernel-doc

Jonathan Cameron (3):
      iio: chemical: scd30: Export dev_pm_ops instead of suspend() and resume()
      PM: core: Add NS varients of EXPORT[_GPL]_SIMPLE_DEV_PM_OPS and
runtime pm equiv
      iio: chemical: scd30: Move symbol exports into IIO_SCD30 namespace

Kevin Hao (1):
      cpufreq: governor: Use kobject release() method to free dbs_data

Krzysztof Kozlowski (1):
      PM: domains: Extend dev_pm_domain_detach() doc

Len Brown (5):
      tools/power turbostat: tweak --show and --hide capability
      tools/power turbostat: fix ICX DRAM power numbers
      tools/power turbostat: be more useful as non-root
      tools/power turbostat: No build warnings with -Wextra
      tools/power turbostat: version 2022.04.16

Lukasz Luba (7):
      PM: EM: Add .get_cost() callback
      PM: EM: Use the new .get_cost() callback while registering EM
      PM: EM: Change the order of arguments in the .active_power() callback
      PM: EM: Remove old debugfs files and print all 'flags'
      Documentation: EM: Add artificial EM registration description
      thermal: cooling: Check Energy Model type in cpufreq_cooling and
devfreq_cooling
      powercap: DTPM: Check for Energy Model type

Pierre Gondois (9):
      PM: EM: Add artificial EM flag
      cpufreq: CPPC: Add per_cpu efficiency_class
      cpufreq: CPPC: Register EM based on efficiency class information
      PM: EM: Decrement policy counter
      ACPI: CPPC: Check _OSC for flexible address space
      ACPI: bus: Set CPPC _OSC bits for all and when CPPC_LIB is supported
      ACPI: CPPC: Assume no transition latency if no PCCT
      cpufreq: CPPC: Enable fast_switch
      cpufreq: CPPC: Enable dvfs_possible_from_any_cpu

Rafael J. Wysocki (4):
      PM: runtime: Avoid device usage count underflows
      cpufreq: Reorganize checks in cpufreq_offline()
      cpufreq: Split cpufreq_offline()
      cpufreq: Rearrange locking in cpufreq_remove_dev()

Saravana Kannan (1):
      PM / devfreq: Add cpu based scaling support to passive governor

Schspa Shi (3):
      cpufreq: Fix possible race in cpufreq online error path
      cpufreq: Abort show()/store() for half-initialized policies
      cpufreq: make interface functions and lock holding state clear

Srinivas Pandruvada (1):
      cpufreq: intel_pstate: Support Sapphire Rapids OOB mode

Sumeet Pawnikar (3):
      tools/power turbostat: Add Power Limit4 support
      tools/power turbostat: print power values upto three decimal
      powercap: RAPL: Add Power Limit4 support for RaptorLake

Ulf Hansson (19):
      PM: runtime: Allow to call __pm_runtime_set_status() from atomic context
      cpuidle: PSCI: Improve support for suspend-to-RAM for PSCI OSI mode
      PM: domains: Move genpd's time-accounting to ktime_get_mono_fast_ns()
      cpuidle: psci: Fix regression leading to no genpd governor
      cpuidle: riscv-sbi: Fix code to allow a genpd governor to be used
      PM: domains: Add GENPD_FLAG_RPM_ALWAYS_ON for the always-on governor
      PM: domains: Drop redundant code for genpd always-on governor
      PM: domains: Don't check PM_QOS_FLAG_NO_POWER_OFF in genpd
      PM: domains: Rename irq_safe_dev_in_no_sleep_domain() in genpd
      PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain()
      PM: domains: Allocate gpd_timing_data dynamically based on governor
      PM: domains: Move the next_wakeup variable into the struct gpd_timing_data
      PM: domains: Measure suspend/resume latencies in genpd based on governor
      PM: domains: Fixup QoS latency measurements for IRQ safe devices in genpd
      PM: domains: Fix initialization of genpd's next_wakeup
      PM: domains: Clean up some code in pm_genpd_init() and genpd_remove()
      PM: domains: Allocate governor data dynamically based on a genpd governor
      PM: domains: Measure power-on/off latencies in genpd based on a governor
      PM: domains: Trust domain-idle-states from DT to be correct by genpd

Viresh Kumar (3):
      cpufreq: Avoid unnecessary frequency updates due to mismatch
      Revert "cpufreq: Fix possible race in cpufreq online error path"
      cpufreq: Clear real_cpus mask from remove_cpu_dev_symlink()

Yang Li (1):
      PM: hibernate: Fix some kernel-doc comments

Zephaniah E. Loss-Cutler-Hull (2):
      tools/power turbostat: Allow -e for all names.
      tools/power turbostat: Allow printing header every N iterations

Zhang Rui (3):
      powercap: intel_rapl: add support for RaptorLake
      intel_idle: Add AlderLake support
      powercap: intel_rapl: add support for ALDERLAKE_N

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

 .../devicetree/bindings/devfreq/rk3399_dmc.txt     | 212 --------
 .../memory-controllers/rockchip,rk3399-dmc.yaml    | 384 +++++++++++++
 Documentation/power/energy-model.rst               |  24 +-
 arch/arm64/kernel/smp.c                            |   1 +
 arch/x86/include/asm/msr-index.h                   |   1 +
 arch/x86/kernel/acpi/boot.c                        |   2 +-
 drivers/acpi/bus.c                                 |  34 +-
 drivers/acpi/cppc_acpi.c                           |  44 +-
 drivers/base/power/common.c                        |   8 +-
 drivers/base/power/domain.c                        | 278 ++++++----
 drivers/base/power/domain_governor.c               |  65 +--
 drivers/base/power/runtime.c                       |  53 +-
 drivers/cpufreq/cppc_cpufreq.c                     | 211 ++++++++
 drivers/cpufreq/cpufreq.c                          | 112 ++--
 drivers/cpufreq/cpufreq_governor.c                 |  20 +-
 drivers/cpufreq/cpufreq_governor.h                 |   1 +
 drivers/cpufreq/intel_pstate.c                     |   2 +
 drivers/cpufreq/mediatek-cpufreq-hw.c              |   4 +-
 drivers/cpufreq/pasemi-cpufreq.c                   |   1 -
 drivers/cpufreq/pmac32-cpufreq.c                   |   2 +-
 drivers/cpufreq/pmac64-cpufreq.c                   |   2 +-
 drivers/cpufreq/ppc_cbe_cpufreq.c                  |   1 -
 drivers/cpufreq/ppc_cbe_cpufreq_pmi.c              |   2 +-
 drivers/cpufreq/scmi-cpufreq.c                     |   4 +-
 drivers/cpuidle/cpuidle-psci-domain.c              |   4 +-
 drivers/cpuidle/cpuidle-psci.c                     |  46 ++
 drivers/cpuidle/cpuidle-riscv-sbi.c                |   4 +-
 drivers/devfreq/devfreq.c                          |  20 +-
 drivers/devfreq/governor.h                         |  27 +
 drivers/devfreq/governor_passive.c                 | 403 +++++++++++---
 drivers/devfreq/rk3399_dmc.c                       | 312 +++++------
 drivers/idle/intel_idle.c                          | 133 +++++
 drivers/iio/chemical/scd30.h                       |   5 +-
 drivers/iio/chemical/scd30_core.c                  |  10 +-
 drivers/iio/chemical/scd30_i2c.c                   |   3 +-
 drivers/iio/chemical/scd30_serial.c                |   3 +-
 drivers/opp/of.c                                   |   6 +-
 drivers/powercap/dtpm_cpu.c                        |   2 +-
 drivers/powercap/intel_rapl_common.c               |   4 +-
 drivers/powercap/intel_rapl_msr.c                  |   1 +
 drivers/soc/rockchip/pm_domains.c                  | 118 ++++
 drivers/thermal/cpufreq_cooling.c                  |   2 +-
 drivers/thermal/devfreq_cooling.c                  |   8 +-
 include/acpi/cppc_acpi.h                           |   5 +
 include/linux/acpi.h                               |   2 +
 include/linux/devfreq.h                            |  17 +-
 include/linux/energy_model.h                       |  35 +-
 include/linux/pm.h                                 |  14 +-
 include/linux/pm_domain.h                          |  24 +-
 include/linux/pm_runtime.h                         |  10 +-
 include/linux/suspend.h                            |  44 +-
 include/soc/rockchip/pm_domains.h                  |  25 +
 kernel/power/Makefile                              |   6 +-
 kernel/power/energy_model.c                        |  65 ++-
 kernel/power/main.c                                |  29 -
 kernel/power/process.c                             |   3 -
 kernel/power/snapshot.c                            |  12 +-
 tools/power/x86/turbostat/Makefile                 |   2 +-
 tools/power/x86/turbostat/turbostat.8              |   2 +-
 tools/power/x86/turbostat/turbostat.c              | 594 +++++++++++++--------
 60 files changed, 2463 insertions(+), 1005 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