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

with top-most commit bf56b90797c4a03c94b702c50e62296edea9fad9

 Merge branches 'pm-em' and 'powercap'

on top of commit 3906fe9bb7f1a2c8667ae54e967dc8690824f4ea

 Linux 5.15-rc7

to receive power management updates for 5.16-rc1.

These make the power management of PCI devices with ACPI companions
more straightforwad, add support for inefficient operating performance
points to the Energy model and make cpufreq handle them as appropriate,
rearrange the handling of cpuidle during system PM transitions,
update a few cpufreq drivers and intel_idle, fix assorded issues and
clean up code in multiple places.

Specifics:

 - Add support for inefficient operating performance points to the
   Energy Model and modify cpufreq to use them properly (Vincent
   Donnefort).

 - Rearrange the DTPM framework code to simplify it and make it easier
   to follow (Daniel Lezcano).

 - Fix power intialization in DTPM (Daniel Lezcano).

 - Add CPU load consideration when estimating the instaneous power
   consumption in DTPM (Daniel Lezcano).

 - Fix cpu->pstate.turbo_freq initialization in intel_pstate (Zhang
   Rui).

 - Make intel_pstate process HWP Guaranteed change notifications from
   the processor (Srinivas Pandruvada).

 - Fix typo in cpufreq.h (Rafael Wysocki).

 - Fix tegra driver to handle BPMP errors properly (Mikko Perttunen).

 - Fix the parameter usage of the newly added perf-domain API (Hector
   Yuan).

 - Minor cleanups to cppc, vexpress and s3c244x drivers (Han Wang,
   Guenter Roeck, and Arnd Bergmann).

 - Fix kobject memory leaks in cpuidle error paths (Anel Orazgaliyeva).

 - Make intel_idle enable interrupts before entering C1 on some Xeon
   processor models (Artem Bityutskiy).

 - Clean up hib_wait_io() (Falla Coulibaly).

 - Fix sparse warnings in hibernation-related code (Anders Roxell).

 - Use vzalloc() and kzalloc() instead of their open-coded
   equivalents in hibernation-related code (Cai Huoqing).

 - Prevent user space from crashing the kernel by attempting to
   restore the system state from a swap partition in use (Ye Bin).

 - Do not let "syscore" devices runtime-suspend during system PM
   transitions (Rafael Wysocki).

 - Do not pause cpuidle in the suspend-to-idle path (Rafael Wysocki).

 - Pause cpuidle later and resume it earlier during system PM
   transitions (Rafael Wysocki).

 - Make system suspend code use valid_state() consistently (Rafael
   Wysocki).

 - Add support for enabling wakeup IRQs after invoking the
   ->runtime_suspend() callback and make two drivers use it (Chunfeng
   Yun).

 - Make the association of ACPI device objects with PCI devices more
   straightforward and simplify the code doing that for all devices
   in general (Rafael Wysocki).

 - Eliminate struct pci_platform_pm_ops and handle the both of its
   users (PCI and Intel MID) directly in the PCI bus code (Rafael
   Wysocki).

 - Simplify and clarify ACPI PCI device PM helpers (Rafael Wysocki).

 - Fix ordering of operations in pci_back_from_sleep() (Rafael
   Wysocki).

 - Make exynos-ppmu use hyphens in DT properties (Krzysztof
   Kozlowski).

 - Simplify parsing event-type from DT in exynos-ppmu (Krzysztof
   Kozlowski).

 - Strengthen check for freq_table in devfreq (Samuel Holland).

Some of the changes listed above are also present in the ACPI updates
pull request sent earlier due to dependencies between the ACPI "glue"
code and the PCI device PM changes.

Thanks!


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

Anders Roxell (1):
      PM: hibernate: fix sparse warnings

Anel Orazgaliyeva (1):
      cpuidle: Fix kobject memory leaks in error paths

Arnd Bergmann (1):
      cpufreq: s3c244x: add fallthrough comments for switch

Artem Bityutskiy (1):
      intel_idle: enable interrupts before C1 on Xeons

Cai Huoqing (1):
      PM: hibernate: swap: Use vzalloc() and kzalloc()

Chunfeng Yun (3):
      PM / wakeirq: support enabling wake-up irq after runtime_suspend called
      usb: xhci-mtk: enable wake-up interrupt after runtime_suspend called
      usb: mtu3: enable wake-up interrupt after runtime_suspend called

Daniel Lezcano (5):
      powercap/drivers/dtpm: Encapsulate even more the code
      powercap/drivers/dtpm: Simplify the dtpm table
      powercap/drivers/dtpm: Use container_of instead of a private data field
      powercap/drivers/dtpm: Scale the power with the load
      powercap/drivers/dtpm: Fix power limit initialization

Falla Coulibaly (1):
      PM: hibernate: Remove blk_status_to_errno in hib_wait_io

Florian Fainelli (1):
      PM: sleep: Do not assume that "mem" is always present

Guenter Roeck (1):
      cpufreq: vexpress: Drop unused variable

Han Wang (1):
      cpufreq: remove useless INIT_LIST_HEAD()

Hector.Yuan (1):
      cpufreq: Fix parameter in parse_perf_domain()

Krzysztof Kozlowski (2):
      devfreq: exynos-ppmu: use node names with hyphens
      devfreq: exynos-ppmu: simplify parsing event-type from DT

Mikko Perttunen (1):
      cpufreq: tegra186/tegra194: Handle errors in BPMP response

Rafael J. Wysocki (17):
      PCI: ACPI: Drop acpi_pci_bus
      ACPI: glue: Drop cleanup callback from struct acpi_bus_type
      ACPI: glue: Look for ACPI bus type only if ACPI companion is not known
      PCI: PM: Do not use pci_platform_pm_ops for Intel MID PM
      PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI
      PCI: PM: Drop struct pci_platform_pm_ops
      PCI: PM: Simplify acpi_pci_power_manageable()
      PCI: PM: Rearrange pci_target_state()
      PCI: PM: Make pci_choose_state() call pci_target_state()
      PCI: PM: Do not call platform_pci_power_manageable() unnecessarily
      Revert "PM: sleep: Do not assume that "mem" is always present"
      PCI: PM: Fix ordering of operations in pci_back_from_sleep()
      cpufreq: Fix typo in cpufreq.h
      PM: sleep: Do not let "syscore" devices runtime-suspend during
system transitions
      PM: suspend: Do not pause cpuidle in the suspend-to-idle path
      PM: sleep: Pause cpuidle later and resume it earlier during
system transitions
      PM: suspend: Use valid_state() consistently

Samuel Holland (1):
      PM / devfreq: Strengthen check for freq_table

Srinivas Pandruvada (1):
      cpufreq: intel_pstate: Process HWP Guaranteed change notification

Vincent Donnefort (10):
      PM: EM: Fix inefficient states detection
      PM: EM: Mark inefficient states
      PM: EM: Extend em_perf_domain with a flag field
      PM: EM: Allow skipping inefficient states
      cpufreq: Make policy min/max hard requirements
      cpufreq: Add an interface to mark inefficient frequencies
      cpufreq: Introducing CPUFREQ_RELATION_E
      cpufreq: Use CPUFREQ_RELATION_E in DVFS governors
      PM: EM: Mark inefficiencies in CPUFreq
      cpufreq: mediatek-hw: Fix cpufreq_table_find_index_dl() call

Ye Bin (1):
      PM: hibernate: Get block device exclusively in swsusp_check()

Zhang Rui (1):
      cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization

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

 drivers/acpi/glue.c                    |  34 +++--
 drivers/base/power/main.c              |  14 +-
 drivers/base/power/power.h             |   7 +-
 drivers/base/power/runtime.c           |   6 +-
 drivers/base/power/wakeirq.c           | 101 ++++++++++++---
 drivers/cpufreq/acpi-cpufreq.c         |   3 +-
 drivers/cpufreq/amd_freq_sensitivity.c |   3 +-
 drivers/cpufreq/cppc_cpufreq.c         |   2 -
 drivers/cpufreq/cpufreq.c              |  19 ++-
 drivers/cpufreq/cpufreq_conservative.c |   6 +-
 drivers/cpufreq/cpufreq_ondemand.c     |  16 ++-
 drivers/cpufreq/intel_pstate.c         | 120 ++++++++++++++++-
 drivers/cpufreq/mediatek-cpufreq-hw.c  |   2 +-
 drivers/cpufreq/powernv-cpufreq.c      |   4 +-
 drivers/cpufreq/s3c2440-cpufreq.c      |   2 +
 drivers/cpufreq/s5pv210-cpufreq.c      |   2 +-
 drivers/cpufreq/tegra186-cpufreq.c     |   4 +
 drivers/cpufreq/tegra194-cpufreq.c     |   8 +-
 drivers/cpuidle/sysfs.c                |   5 +-
 drivers/devfreq/devfreq.c              |   2 +-
 drivers/devfreq/event/exynos-ppmu.c    |  12 +-
 drivers/idle/intel_idle.c              |  13 +-
 drivers/pci/pci-acpi.c                 |  74 +++--------
 drivers/pci/pci-mid.c                  |  37 ++----
 drivers/pci/pci.c                      | 154 ++++++++++------------
 drivers/pci/pci.h                      |  96 ++++++++------
 drivers/powercap/dtpm.c                |  78 ++++++-----
 drivers/powercap/dtpm_cpu.c            | 228 ++++++++++++++++++---------------
 drivers/usb/host/xhci-mtk.c            |   2 +-
 drivers/usb/mtu3/mtu3_plat.c           |   2 +-
 include/acpi/acpi_bus.h                |   1 -
 include/linux/cpufreq.h                | 169 +++++++++++++++++++-----
 include/linux/cpuhotplug.h             |   2 +-
 include/linux/dtpm.h                   |  26 ++--
 include/linux/energy_model.h           |  68 ++++++++--
 include/linux/pci-acpi.h               |   8 ++
 include/linux/pm_wakeirq.h             |   9 +-
 kernel/power/energy_model.c            |  86 ++++++++++---
 kernel/power/hibernate.c               |  12 +-
 kernel/power/power.h                   |  14 ++
 kernel/power/suspend.c                 |  18 +--
 kernel/power/swap.c                    |  21 ++-
 42 files changed, 946 insertions(+), 544 deletions(-)



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux