[GIT PULL] Power management updates for v6.4-rc1

From: Rafael J. Wysocki
Date: Mon Apr 24 2023 - 13:53:41 EST


Hi Linus,

Please pull from the tag

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-6.4-rc1

with top-most commit d3f2c402e44887e507b65d65f0d0515d46575bf5

Merge branches 'pm-core', 'pm-sleep', 'pm-opp' and 'pm-tools'

on top of commit 6a8f57ae2eb07ab39a6f0ccad60c760743051026

Linux 6.3-rc7

to receive power management updates for 6.4-rc1.

These update several cpufreq drivers and the cpufreq core, add sysfs
interface for exposing the time really spent in the platform low-power
state during suspend-to-idle, update devfreq (core and drivers) and
the pm-graph suite of tools and clean up code.

Specifics:

- Fix the frequency unit in cpufreq_verify_current_freq checks()
(Sanjay Chandrashekara).

- Make mode_state_machine in amd-pstate static (Tom Rix).

- Make the cpufreq core require drivers with target_index() to set
freq_table (Viresh Kumar).

- Fix typo in the ARM_BRCMSTB_AVS_CPUFREQ Kconfig entry (Jingyu Wang).

- Use of_property_read_bool() for boolean properties in the pmac32
cpufreq driver (Rob Herring).

- Make the cpufreq sysfs interface return proper error codes on
obviously invalid input (qinyu).

- Add guided autonomous mode support to the AMD P-state driver (Wyes
Karny).

- Make the Intel P-state driver enable HWP IO boost on all server
platforms (Srinivas Pandruvada).

- Add opp and bandwidth support to tegra194 cpufreq driver (Sumit
Gupta).

- Use of_property_present() for testing DT property presence (Rob
Herring).

- Remove MODULE_LICENSE in non-modules (Nick Alcock).

- Add SM7225 to cpufreq-dt-platdev blocklist (Luca Weiss).

- Optimizations and fixes for qcom-cpufreq-hw driver (Krzysztof
Kozlowski, Konrad Dybcio, and Bjorn Andersson).

- DT binding updates for qcom-cpufreq-hw driver (Konrad Dybcio and
Bartosz Golaszewski).

- Updates and fixes for mediatek driver (Jia-Wei Chang and
AngeloGioacchino Del Regno).

- Use of_property_present() for testing DT property presence in the
cpuidle code (Rob Herring).

- Drop unnecessary (void *) conversions from the PM core (Li zeming).

- Add sysfs files to represent time spent in a platform sleep state
during suspend-to-idle and make AMD and Intel PMC drivers use them
(Mario Limonciello).

- Use of_property_present() for testing DT property presence (Rob
Herring).

- Add set_required_opps() callback to the 'struct opp_table', to make
the code paths cleaner (Viresh Kumar).

- Update the pm-graph siute of utilities to v5.11 with the following
changes:
* New script which allows users to install the latest pm-graph
from the upstream github repo.
* Update all the dmesg suspend/resume PM print formats to be able to
process recent timelines using dmesg only.
* Add ethtool output to the log for the system's ethernet device if
ethtool exists.
* Make the tool more robustly handle events where mangled dmesg or
ftrace outputs do not include all the requisite data.

- Make the sleepgraph utility recognize "CPU killed" messages (Xueqin
Luo).

- Remove unneeded SRCU selection in Kconfig because it's always set
from devfreq core (Paul E. McKenney).

- Drop of_match_ptr() macro from exynos-bus.c because this driver is
always using the DT table for driver probe (Krzysztof Kozlowski).

- Use the preferred of_property_present() instead of the low-level
of_get_property() on exynos-bus.c (Rob Herring).

- Use devm_platform_get_and_ioream_resource() in exyno-ppmu.c (Yang Li).

Thanks!


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

AngeloGioacchino Del Regno (1):
cpufreq: mediatek: Raise proc and sram max voltage for MT7622/7623

Bartosz Golaszewski (1):
dt-bindings: cpufreq: qcom-hw: add a compatible for sa8775p

Bjorn Andersson (1):
cpufreq: qcom-cpufreq-hw: Revert adding cpufreq qos

Jia-Wei Chang (3):
cpufreq: mediatek: fix passing zero to 'PTR_ERR'
cpufreq: mediatek: fix KP caused by handler usage after
regulator_put/clk_put
cpufreq: mediatek: raise proc/sram max voltage for MT8516

Jingyu Wang (1):
cpufreq: Fix typo in the ARM_BRCMSTB_AVS_CPUFREQ Kconfig entry

Konrad Dybcio (4):
cpufreq: qcom-hw: Simplify counting frequency domains
dt-bindings: cpufreq: cpufreq-qcom-hw: Allow just 1 frequency domain
dt-bindings: cpufreq: cpufreq-qcom-hw: Sanitize data per compatible
dt-bindings: cpufreq: cpufreq-qcom-hw: Add QCM2290

Krzysztof Kozlowski (2):
PM / devfreq: exyos-bus: drop of_match_ptr for ID table
cpufreq: qcom-cpufreq-hw: fix double IO unmap and resource release on exit

Li zeming (1):
PM: core: Remove unnecessary (void *) conversions

Luca Weiss (1):
cpufreq: Add SM7225 to cpufreq-dt-platdev blocklist

Mario Limonciello (4):
PM: Add sysfs files to represent time spent in hardware sleep state
platform/x86/amd: pmc: Report duration of time in hw sleep state
platform/x86/intel/pmc: core: Always capture counters on suspend
platform/x86/intel/pmc: core: Report duration of time in HW sleep state

Nick Alcock (2):
kbuild, cpufreq: tegra124: remove MODULE_LICENSE in non-modules
kbuild, cpufreq: remove MODULE_LICENSE in non-modules

Paul E. McKenney (1):
PM / devfreq: Remove "select SRCU"

Rob Herring (5):
cpufreq: Use of_property_present() for testing DT property presence
opp: Use of_property_present() for testing DT property presence
PM / devfreq: exynos: Use of_property_present() for testing DT
property presence
cpuidle: Use of_property_present() for testing DT property presence
cpufreq: pmac32: Use of_property_read_bool() for boolean properties

Sanjay Chandrashekara (1):
cpufreq: use correct unit when verify cur freq

Srinivas Pandruvada (1):
cpufreq: intel_pstate: Enable HWP IO boost for all servers

Sumit Gupta (1):
cpufreq: tegra194: add OPP support and set bandwidth

Todd Brandt (1):
pm-graph: Update to v5.11

Tom Rix (1):
cpufreq: amd-pstate: Make varaiable mode_state_machine static

Viresh Kumar (3):
OPP: Handle all genpd cases together in _set_required_opps()
OPP: Move required opps configuration to specialized callback
cpufreq: drivers with target_index() must set freq_table

Wyes Karny (6):
ACPI: CPPC: Add min and max perf register writing support
ACPI: CPPC: Add auto select register read/write support
Documentation: cpufreq: amd-pstate: Move amd_pstate param to
alphabetical order
cpufreq: amd-pstate: Add guided autonomous mode
cpufreq: amd-pstate: Add guided mode control support via sysfs
Documentation: cpufreq: amd-pstate: Update amd_pstate status
sysfs for guided

Xueqin Luo (1):
PM: tools: sleepgraph: Recognize "CPU killed" messages

Yang Li (1):
PM / devfreq: exynos-ppmu: Use devm_platform_get_and_ioremap_resource()

qinyu (1):
cpufreq: warn about invalid vals to scaling_max/min_freq interfaces

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

Documentation/ABI/testing/sysfs-power | 29 ++++
Documentation/admin-guide/kernel-parameters.txt | 40 +++--
Documentation/admin-guide/pm/amd-pstate.rst | 31 +++-
.../bindings/cpufreq/cpufreq-qcom-hw.yaml | 119 +++++++++++++-
drivers/acpi/cppc_acpi.c | 118 +++++++++++++-
drivers/base/power/main.c | 12 +-
drivers/cpufreq/Kconfig.arm | 2 +-
drivers/cpufreq/amd-pstate.c | 175 +++++++++++++++------
drivers/cpufreq/cpufreq-dt-platdev.c | 3 +-
drivers/cpufreq/cpufreq.c | 13 +-
drivers/cpufreq/freq_table.c | 8 +-
drivers/cpufreq/imx-cpufreq-dt.c | 2 +-
drivers/cpufreq/imx6q-cpufreq.c | 4 +-
drivers/cpufreq/intel_pstate.c | 11 +-
drivers/cpufreq/mediatek-cpufreq.c | 98 +++++++-----
drivers/cpufreq/pmac32-cpufreq.c | 6 +-
drivers/cpufreq/qcom-cpufreq-hw.c | 54 +------
drivers/cpufreq/scmi-cpufreq.c | 2 +-
drivers/cpufreq/tegra124-cpufreq.c | 1 -
drivers/cpufreq/tegra194-cpufreq.c | 156 ++++++++++++++++--
drivers/cpufreq/tegra20-cpufreq.c | 2 +-
drivers/cpuidle/cpuidle-psci-domain.c | 2 +-
drivers/cpuidle/cpuidle-riscv-sbi.c | 6 +-
drivers/devfreq/Kconfig | 1 -
drivers/devfreq/event/exynos-ppmu.c | 3 +-
drivers/devfreq/exynos-bus.c | 4 +-
drivers/opp/core.c | 78 +++++----
drivers/opp/of.c | 7 +-
drivers/opp/opp.h | 4 +
drivers/platform/x86/amd/pmc.c | 6 +-
drivers/platform/x86/intel/pmc/core.c | 17 +-
drivers/platform/x86/intel/pmc/core.h | 4 +-
include/acpi/cppc_acpi.h | 11 ++
include/linux/amd-pstate.h | 2 +
include/linux/cpufreq.h | 1 +
include/linux/suspend.h | 8 +
kernel/power/main.c | 59 +++++--
tools/power/pm-graph/README | 2 +-
tools/power/pm-graph/install_latest_from_github.sh | 38 +++++
tools/power/pm-graph/sleepgraph.py | 58 ++++---
40 files changed, 895 insertions(+), 302 deletions(-)