Date: Mon, 18 Nov 2024 11:22:04 +0100
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux PM <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, 
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: [GIT PULL] Power management updates for v6.13-rc1

Hi Linus,

Please pull from the tag

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

with top-most commit c6e2a4c9eed5249c4158bc621882d44e94af3371

 Merge branch 'pm-tools'

on top of commit 1a1030d10a6335bb5e6cdb24fc9388d3d9bcc1ac

 cpufreq: intel_pstate: Rearrange locking in hybrid_init_cpu_capacity_scali=
ng()

to receive power management updates for 6.13-rc1.

The amd-pstate cpufreq driver gets the majority of changes this time.
They are mostly fixes and cleanups, but one of them causes it to become
the default cpufreq driver on some AMD server platforms.

Apart from that, the menu cpuidle governor is modified to not use iowait
any more, the intel_idle gets a custom C-states table for Granite Rapids
Xeon D, and the intel_pstate driver will use a more aggressive Balance-
performance default EPP value on Granite Rapids now.

There are also some fixes, cleanups and tooling updates.

Specifics:

 - Update the amd-pstate driver to set the initial scaling frequency
   policy lower bound to be the lowest non-linear frequency (Dhananjay
   Ugwekar).

 - Enable amd-pstate by default on servers starting with newer AMD Epyc
   processors (Swapnil Sapkal).

 - Align more codepaths between shared memory and MSR designs in
   amd-pstate (Dhananjay Ugwekar).

 - Clean up amd-pstate code to rename functions and remove redundant
   calls (Dhananjay Ugwekar, Mario Limonciello).

 - Do other assorted fixes and cleanups in amd-pstate (Dhananjay Ugwekar
   and Mario Limonciello).

 - Change the Balance-performance EPP value for Granite Rapids in the
   intel_pstate driver to a more performance-biased one (Srinivas
   Pandruvada).

 - Simplify MSR read on the boot CPU in the ACPI cpufreq driver (Chang
   S. Bae).

 - Ensure sugov_eas_rebuild_sd() is always called when sugov_init()
   succeeds to always enforce sched domains rebuild in case EAS needs
   to be enabled (Christian Loehle).

 - Switch cpufreq back to platform_driver::remove() (Uwe Kleine-K=C3=B6nig)=
.

 - Use proper frequency unit names in cpufreq (Marcin Juszkiewicz).

 - Add a built-in idle states table for Granite Rapids Xeon D to the
   intel_idle driver (Artem Bityutskiy).

 - Fix some typos in comments in the cpuidle core and drivers (Shen
   Lichuan).

 - Remove iowait influence from the menu cpuidle governor (Christian
   Loehle).

 - Add min/max available performance state limits to the Energy Model
   management code (Lukasz Luba).

 - Update pm-graph to v5.13 (Todd Brandt).

 - Add documentation for some recently introduced cpupower utility
   options (Tor Vic).

 - Make cpupower inform users where cpufreq-bench.conf should be located
   when opening it fails (Peng Fan).

 - Allow overriding cross-compiling env params in cpupower (Peng Fan).

 - Add compile_commands.json to .gitignore in cpupower (John B. Wyatt
   IV).

 - Improve disable c_state block in cpupower bindings and add a test to
   confirm that CPU state is disabled to it (John B. Wyatt IV).

 - Add Chinese Simplified translation to cpupower (Kieran Moy).

 - Add checks for xgettext and msgfmt to cpupower (Siddharth Menon).

Thanks!


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

Artem Bityutskiy (1):
      intel_idle: add Granite Rapids Xeon D support

Chang S. Bae (1):
      cpufreq: ACPI: Simplify MSR read on the boot CPU

Christian Loehle (2):
      cpuidle: menu: Remove iowait influence
      sched/cpufreq: Ensure sd is rebuilt for EAS check

Dhananjay Ugwekar (11):
      cpufreq/amd-pstate: Rename MSR and shared memory specific functions
      cpufreq/amd-pstate: Remove the redundant verify() function
      cpufreq/amd-pstate: Set the initial min_freq to lowest_nonlinear_freq
      cpufreq/amd-pstate: Call amd_pstate_register() in amd_pstate_init()
      cpufreq/amd-pstate: Call amd_pstate_set_driver() in
amd_pstate_register_driver()
      cpufreq/amd-pstate: Remove the switch case in amd_pstate_init()
      cpufreq/amd-pstate: Remove the redundant amd_pstate_set_driver() call
      cpufreq/amd-pstate: Rename functions that enable CPPC
      cpufreq/amd-pstate: Do not attempt to clear MSR_AMD_CPPC_ENABLE
      cpufreq/amd-pstate: Call cppc_set_epp_perf in the reenable function
      cpufreq/amd-pstate: Align offline flow of shared memory and MSR
based systems

Gautham R. Shenoy (1):
      amd-pstate: Set min_perf to nominal_perf for active mode performance =
gov

John B. Wyatt IV (3):
      pm: cpupower: gitignore: Add compile_commands.json
      pm: cpupower: bindings: Improve disable c_state block
      pm: cpupower: bindings: Add test to confirm cpu state is disabled

Kieran Moy (1):
      cpupower: Add Chinese Simplified translation

Lukasz Luba (1):
      PM: EM: Add min/max available performance state limits

Marcin Juszkiewicz (1):
      cpufreq: use proper units for frequency

Mario Limonciello (7):
      cpufreq/amd-pstate: Fix non kerneldoc comment
      cpufreq/amd-pstate: Don't update CPPC request in
amd_pstate_cpu_boost_update()
      cpufreq/amd-pstate: Use amd_pstate_update_min_max_limit() for EPP lim=
its
      cpufreq/amd-pstate: Drop needless EPP initialization
      cpufreq/amd-pstate-ut: Add fix for min freq unit test
      cpufreq/amd-pstate: Push adjust_perf vfunc init into cpu_init
      cpufreq/amd-pstate: Move registration after static function call upda=
te

Peng Fan (2):
      pm: cpupower: bench: print config file path when open
cpufreq-bench.conf fails
      pm: cpupower: Makefile: Allow overriding cross-compiling env params

Shen Lichuan (1):
      cpuidle: Correct some typos in comments

Siddharth Menon (1):
      cpupower: add checks for xgettext and msgfmt

Srinivas Pandruvada (1):
      cpufreq: intel_pstate: Update Balance-performance EPP for Granite Rap=
ids

Swapnil Sapkal (1):
      amd-pstate: Switch to amd-pstate by default on some Server platforms

Todd Brandt (1):
      pm-graph v5.13

Tor Vic (1):
      tools/power/cpupower: Add documentation for some recently
introduced options

Uwe Kleine-K=C3=B6nig (1):
      cpufreq: Switch back to struct platform_driver::remove()

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

 drivers/cpufreq/acpi-cpufreq.c                     |   9 +-
 drivers/cpufreq/amd-pstate-ut.c                    |   6 +-
 drivers/cpufreq/amd-pstate.c                       | 229 ++---
 drivers/cpufreq/brcmstb-avs-cpufreq.c              |   2 +-
 drivers/cpufreq/cpufreq-dt.c                       |   2 +-
 drivers/cpufreq/cpufreq.c                          |   2 +-
 drivers/cpufreq/davinci-cpufreq.c                  |   2 +-
 drivers/cpufreq/imx-cpufreq-dt.c                   |   2 +-
 drivers/cpufreq/imx6q-cpufreq.c                    |   2 +-
 drivers/cpufreq/intel_pstate.c                     |   2 +
 drivers/cpufreq/kirkwood-cpufreq.c                 |   2 +-
 drivers/cpufreq/loongson3_cpufreq.c                |   2 +-
 drivers/cpufreq/mediatek-cpufreq-hw.c              |   2 +-
 drivers/cpufreq/omap-cpufreq.c                     |   2 +-
 drivers/cpufreq/pcc-cpufreq.c                      |   2 +-
 drivers/cpufreq/qcom-cpufreq-hw.c                  |   2 +-
 drivers/cpufreq/qcom-cpufreq-nvmem.c               |   2 +-
 drivers/cpufreq/qoriq-cpufreq.c                    |   2 +-
 drivers/cpufreq/raspberrypi-cpufreq.c              |   2 +-
 drivers/cpufreq/scpi-cpufreq.c                     |   2 +-
 drivers/cpufreq/sun50i-cpufreq-nvmem.c             |   2 +-
 drivers/cpufreq/tegra186-cpufreq.c                 |   2 +-
 drivers/cpufreq/tegra194-cpufreq.c                 |   2 +-
 drivers/cpufreq/vexpress-spc-cpufreq.c             |   2 +-
 drivers/cpuidle/cpuidle-arm.c                      |   2 +-
 drivers/cpuidle/cpuidle-qcom-spm.c                 |   2 +-
 drivers/cpuidle/cpuidle.c                          |   2 +-
 drivers/cpuidle/driver.c                           |   4 +-
 drivers/cpuidle/governors/menu.c                   |  76 +-
 drivers/idle/intel_idle.c                          |  48 ++
 include/linux/energy_model.h                       |  29 +-
 kernel/power/energy_model.c                        |  52 ++
 kernel/sched/cpufreq_schedutil.c                   |   3 +-
 tools/power/cpupower/.gitignore                    |   3 +
 tools/power/cpupower/Makefile                      |  26 +-
 tools/power/cpupower/bench/parse.c                 |   5 +-
 .../bindings/python/test_raw_pylibcpupower.py      |  28 +-
 tools/power/cpupower/man/cpupower-set.1            |  38 +-
 tools/power/cpupower/po/zh_CN.po                   | 942 +++++++++++++++++=
++++
 tools/power/pm-graph/sleepgraph.8                  |   3 +
 tools/power/pm-graph/sleepgraph.py                 |  59 +-
 41 files changed, 1330 insertions(+), 278 deletions(-)

.
Date: Mon, 18 Nov 2024 11:25:27 +0100
From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>, Linux PM <linux-pm@vger.kernel.org>, 
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [GIT PULL] ACPI updates for v6.13-rc1

Hi Linus,

Please pull from the tag

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

with top-most commit d47a60e487fbb65bbbca3d99e59009f0a4acf34d

 Merge branch 'acpi-misc'

on top of commit 2d5404caa8c7bb5c4e0435f94b28834ae5456623

 Linux 6.12-rc7

to receive ACPI updates for 6.13-rc1.

These include a couple of fixes, a new ACPI backlight quirk for Apple
MacbookPro11,2 and Air7,2 and a bunch of cleanups:

 - Fix _CPC register setting issue for registers located in memory in
   the ACPI CPPC library code (Lifeng Zheng).

 - Use DEFINE_SIMPLE_DEV_PM_OPS in the ACPI battery driver, make it use
   devm_ for initializing mutexes and allocating driver data, and make
   it check the register_pm_notifier() return value (Thomas Wei=C3=9Fschuh,
   Andy Shevchenko).

 - Make the ACPI EC driver support compile-time conditional and allow
   ACPI to be built without CONFIG_HAS_IOPORT (Arnd Bergmann).

 - Remove a redundant error check from the pfr_telemetry driver (Colin
   Ian King).

 - Rearrange the processor_perflib code in the ACPI processor driver
   to avoid compiling x86-specific code on other architectures (Arnd
   Bergmann).

 - Add adev NULL check to acpi_quirk_skip_serdev_enumeration() and
   make UART skip quirks work on PCI UARTs without an UID (Hans de
   Goede).

 - Force native backlight handling Apple MacbookPro11,2 and Air7,2 in
   the ACPI video driver (Jonathan Denose).

 - Switch several ACPI platform drivers back to using struct
   platform_driver::remove() (Uwe Kleine-K=C3=B6nig).

 - Replace strcpy() with strscpy() in multiple places in the ACPI
   subsystem (Muhammad Qasim Abdul Majeed, Abdul Rahim).

Thanks!


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

Abdul Rahim (1):
      ACPI: thermal: Use strscpy() instead of strcpy()

Andy Shevchenko (1):
      ACPI: battery: Check for error code from devm_mutex_init() call

Arnd Bergmann (3):
      ACPI: EC: make EC support compile-time conditional
      ACPI: processor_perflib: extend X86 dependency
      ACPI: allow building without CONFIG_HAS_IOPORT

Colin Ian King (1):
      ACPI: pfr_telemetry: remove redundant error check on ret

Hans de Goede (2):
      ACPI: x86: Make UART skip quirks work on PCI UARTs without an UID
      ACPI: x86: Add adev NULL check to acpi_quirk_skip_serdev_enumeration(=
)

Jonathan Denose (1):
      ACPI: video: force native for Apple MacbookPro11,2 and Air7,2

Lifeng Zheng (1):
      ACPI: CPPC: Fix _CPC register setting issue

Muhammad Qasim Abdul Majeed (9):
      ACPI: APD: Use strscpy() instead of strcpy()
      ACPI: EC: Use strscpy() instead of strcpy()
      ACPI: event: Use strscpy() instead of strcpy()
      ACPI: pci_link: Use strscpy() instead of strcpy()
      ACPI: pci_root: Use strscpy() instead of strcpy()
      ACPI: power: Use strscpy() instead of strcpy()
      ACPI: SBS: Use strscpy() instead of strcpy()
      ACPI: SBSHC: Use strscpy() instead of strcpy()
      ACPI: scan: Use strscpy() instead of strcpy()

Thomas Wei=C3=9Fschuh (4):
      ACPI: battery: check result of register_pm_notifier()
      ACPI: battery: allocate driver data through devm_ APIs
      ACPI: battery: initialize mutexes through devm_ APIs
      ACPI: battery: use DEFINE_SIMPLE_DEV_PM_OPS

Uwe Kleine-K=C3=B6nig (1):
      ACPI: Switch back to struct platform_driver::remove()

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

 drivers/acpi/Kconfig               | 11 ++++++++-
 drivers/acpi/Makefile              |  2 +-
 drivers/acpi/ac.c                  |  2 +-
 drivers/acpi/acpi_apd.c            |  2 +-
 drivers/acpi/acpi_pad.c            |  2 +-
 drivers/acpi/acpi_tad.c            |  2 +-
 drivers/acpi/apei/einj-core.c      |  2 +-
 drivers/acpi/apei/ghes.c           |  2 +-
 drivers/acpi/arm64/agdi.c          |  2 +-
 drivers/acpi/battery.c             | 31 +++++++++++-------------
 drivers/acpi/cppc_acpi.c           |  7 +++---
 drivers/acpi/dptf/dptf_pch_fivr.c  |  2 +-
 drivers/acpi/dptf/dptf_power.c     |  2 +-
 drivers/acpi/ec.c                  |  4 ++--
 drivers/acpi/event.c               |  4 ++--
 drivers/acpi/evged.c               |  2 +-
 drivers/acpi/fan_core.c            |  2 +-
 drivers/acpi/internal.h            | 25 +++++++++++++++++++
 drivers/acpi/osl.c                 | 12 ++++++++++
 drivers/acpi/pci_link.c            |  4 ++--
 drivers/acpi/pci_root.c            |  4 ++--
 drivers/acpi/pfr_telemetry.c       |  5 +---
 drivers/acpi/pfr_update.c          |  2 +-
 drivers/acpi/power.c               |  4 ++--
 drivers/acpi/processor_perflib.c   | 13 ++++------
 drivers/acpi/sbs.c                 |  4 ++--
 drivers/acpi/sbshc.c               | 13 +++-------
 drivers/acpi/scan.c                | 14 +++++------
 drivers/acpi/thermal.c             |  6 ++---
 drivers/acpi/video_detect.c        | 16 +++++++++++++
 drivers/acpi/x86/utils.c           | 49 +++++++++++++++++++++++++++++++---=
----
 drivers/char/Kconfig               |  1 +
 drivers/hwmon/Kconfig              |  3 ++-
 drivers/platform/x86/Kconfig       | 22 +++++++++--------
 drivers/platform/x86/dell/Kconfig  |  1 +
 drivers/platform/x86/hp/Kconfig    |  1 +
 drivers/platform/x86/intel/Kconfig |  2 +-
 include/linux/acpi.h               |  8 +++++--
 38 files changed, 189 insertions(+), 101 deletions(-)

.
