Skip to content
Power management updates for v4.13-rc1

 - Rework suspend-to-idle to allow it to take wakeup events signaled
   by the EC into account on ACPI-based platforms in order to properly
   support power button wakeup from suspend-to-idle on recent Dell
   laptops (Rafael Wysocki).

   That includes the core suspend-to-idle code rework, support for
   the Low Power S0 _DSM interface, and support for the ACPI INT0002
   Virtual GPIO device from Hans de Goede (required for USB keyboard
   wakeup from suspend-to-idle to work on some machines).

 - Stop trying to export the current CPU frequency via /proc/cpuinfo
   on x86 as that is inaccurate and confusing (Len Brown).

 - Rework the way in which the current CPU frequency is exported by
   the kernel (over the cpufreq sysfs interface) on x86 systems with
   the APERF and MPERF registers by always using values read from
   these registers, when available, to compute the current frequency
   regardless of which cpufreq driver is in use (Len Brown).

 - Rework the PCI/ACPI device wakeup infrastructure to remove the
   questionable and artificial distinction between "devices that
   can wake up the system from sleep states" and "devices that can
   generate wakeup signals in the working state" from it, which
   allows the code to be simplified quite a bit (Rafael Wysocki).

 - Fix the wakeup IRQ framework by making it use SRCU instead of
   RCU which doesn't allow sleeping in the read-side critical
   sections, but which in turn is expected to be allowed by the
   IRQ bus locking infrastructure (Thomas Gleixner).

 - Modify some computations in the intel_pstate driver to avoid
   rounding errors resulting from them (Srinivas Pandruvada).

 - Reduce the overhead of the intel_pstate driver in the HWP
   (hardware-managed P-states) mode and when the "performance"
   P-state selection algorithm is in use by making it avoid
   registering scheduler callbacks in those cases (Len Brown).

 - Rework the energy_performance_preference sysfs knob in
   intel_pstate by changing the values that correspond to
   different symbolic hint names used by it (Len Brown).

 - Make it possible to use more than one cpuidle driver at the same
   time on ARM (Daniel Lezcano).

 - Make it possible to prevent the cpuidle menu governor from using
   the 0 state by disabling it via sysfs (Nicholas Piggin).

 - Add support for FFH (Fixed Functional Hardware) MWAIT in ACPI C1
   on AMD systems (Yazen Ghannam).

 - Make the CPPC cpufreq driver take the lowest nonlinear performance
   information into account (Prashanth Prakash).

 - Add support for hi3660 to the cpufreq-dt driver, fix the
   imx6q driver and clean up the sfi, exynos5440 and intel_pstate
   drivers (Colin Ian King, Krzysztof Kozlowski, Octavian Purdila,
   Rafael Wysocki, Tao Wang).

 - Fix a few minor issues in the generic power domains (genpd)
   framework and clean it up somewhat (Krzysztof Kozlowski,
   Mikko Perttunen, Viresh Kumar).

 - Fix a couple of minor issues in the operating performance points
   (OPP) framework and clean it up somewhat (Viresh Kumar).

 - Fix a CONFIG dependency in the hibernation core and clean it up
   slightly (Balbir Singh, Arvind Yadav, BaoJun Luo).

 - Add rk3228 support to the rockchip-io adaptive voltage scaling
   (AVS) driver (David Wu).

 - Fix an incorrect bit shift operation in the RAPL power capping
   driver (Adam Lessnau).

 - Add support for the EPP field in the HWP (hardware managed
   P-states) control register, HWP.EPP, to the x86_energy_perf_policy
   tool and update msr-index.h with HWP.EPP values (Len Brown).

 - Fix some minor issues in the turbostat tool (Len Brown).

 - Add support for AMD family 0x17 CPUs to the cpupower tool and fix
   a minor issue in it (Sherry Hurwitz).

 - Assorted cleanups, mostly related to the constification of some
   data structures (Arvind Yadav, Joe Perches, Kees Cook, Krzysztof
   Kozlowski).