[GIT PULL] ACPI updates for v5.16-rc1

From: Rafael J. Wysocki
Date: Tue Nov 02 2021 - 15:51:57 EST

Hi Linus,

Please pull from the tag

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

with top-most commit 90e17edac46882ee5fa4dfb6a72956b89dd188f3

Merge branches 'acpi-apei', 'acpi-prm' and 'acpi-docs'

on top of commit 3906fe9bb7f1a2c8667ae54e967dc8690824f4ea

Linux 5.15-rc7

to receive ACPI updates for 5.16-rc1.

These update the ACPICA code in the kernel to the most recent
upstream revision, address some issues related to the ACPI power
resources management, simplify the enumeration of PCI devices
having ACPI companions, add new quirks, fix assorted problems,
update the ACPI-related information in maintainers and clean up
code in several places.


- Update the ACPICA code in the kernel to upstream revision 20210930
including the following changes:

* Fix system-wide resume issue caused by evaluating control
methods too early in the resume path (Rafael Wysocki).

* Add support for Windows 2020 _OSI string (Mario Limonciello).

* Add Generic Port Affinity type for SRAT (Alison Schofield).

* Add disassembly support for the NHLT ACPI table (Bob Moore).

- Avoid flushing caches before entering C3 type of idle states on
AMD processors (Deepak Sharma).

- Avoid enumerating CPUs that are not present and not online-capable
according to the platform firmware (Mario Limonciello).

- Add DMI-based mechanism to quirk IRQ overrides and use it for two
platforms (Hui Wang).

- Change the configuration of unused ACPI device objects to reflect
the D3cold power state after enumerating devices (Rafael Wysocki).

- Update MAINTAINERS information regarding ACPI (Rafael Wysocki).

- Fix typo in ACPI Kconfig (Masanari Iid).

- Use sysfs_emit() instead of snprintf() in some places (Qing Wang).

- 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).

- Use acpi_device_adr() in acpi_find_child_device() instead of
evaluating _ADR (Rafael Wysocki).

- Drop duplicate device IDs from PNP device IDs list (Krzysztof

- Allow acpi_idle_play_dead() to use C3 on AMD processors (Richard

- Use ACPI_COMPANION() to simplify code in some drivers (Rafael

- Check the states of all ACPI power resources during initialization
to avoid dealing with power resources in unknown states (Rafael

- Fix ACPI power resource issues related to sharing wakeup power
resources (Rafael Wysocki).

- Avoid registering redundant suspend_ops (Rafael Wysocki).

- Report battery charging state as "full" if it appears to be over
the design capacity (André Almeida).

- Quirk GK45 mini PC to skip reading _PSR in the AC driver (Stefan

- Mark apei_hest_parse() static (Christoph Hellwig).

- Relax platform response timeout to 1 second after instructing it
to inject an error (Shuai Xue).

- Make the PRM code handle memory allocation and remapping failures
more gracefully and drop some unnecessary blank lines from that
code (Aubrey Li).

- Fix spelling mistake in the ACPI documentation (Colin Ian King).



Alison Schofield (1):
ACPICA: ACPI 6.4 SRAT: add Generic Port Affinity type

André Almeida (1):
ACPI: battery: Accept charges over the design capacity as full

Aubrey Li (2):
ACPI: PRM: Remove unnecessary blank lines
ACPI: PRM: Handle memory allocation and memory remap failure

Bob Moore (2):
ACPICA: iASL table disassembler: Added disassembly support for
the NHLT ACPI table
ACPICA: Update version to 20210930

Christoph Hellwig (1):
ACPI: APEI: mark apei_hest_parse() static

Colin Ian King (1):
Documentation: ACPI: Fix spelling mistake "Millenium" -> "Millennium"

Deepak Sharma (1):
x86: ACPI: cstate: Optimize C3 entry on AMD CPUs

Hui Wang (2):
ACPI: resources: Add DMI-based legacy IRQ override quirk
ACPI: resources: Add one more Medion model in IRQ override quirk

Krzysztof Kozlowski (1):
ACPI: PNP: remove duplicated BRI0A49 and BDP3336 entries

Mario Limonciello (3):
ACPICA: Add support for MADT online enabled bit
x86/ACPI: Don't add CPUs that are not online capable
ACPICA: Add support for Windows 2020 _OSI string

Masanari Iida (1):
ACPI: Kconfig: Fix a typo in Kconfig

Qing Wang (1):
ACPI: replace snprintf() in "show" functions with sysfs_emit()

Rafael J. Wysocki (16):
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
ACPI: Update information in MAINTAINERS
ACPICA: Avoid evaluating methods too early during system resume
ACPI: scan: Release PM resources blocked by unused objects
ACPI: PM: Check states of power resources during initialization
ACPI: PM: Turn off unused wakeup power resources
ACPI: PM: Fix sharing of wakeup power resources
ACPI: PM: Turn off wakeup power resources on _DSW/_PSW errors
ACPI: PM: sleep: Do not set suspend_ops unnecessarily
nouveau: ACPI: Use the ACPI_COMPANION() macro directly
gpio-amdpt: ACPI: Use the ACPI_COMPANION() macro directly
perf: qcom_l2_pmu: ACPI: Use ACPI_COMPANION() directly
ACPI: glue: Use acpi_device_adr() in acpi_find_child_device()

Richard Gong (1):
ACPI: processor idle: Allow playing dead in C3 state

Shuai Xue (1):
ACPI: APEI: EINJ: Relax platform response timeout to 1 second

Stefan Schaeckeler (1):
ACPI: AC: Quirk GK45 to skip reading _PSR


Documentation/firmware-guide/acpi/osi.rst | 2 +-
arch/x86/kernel/acpi/boot.c | 9 ++
arch/x86/kernel/acpi/cstate.c | 15 ++
drivers/acpi/Kconfig | 2 +-
drivers/acpi/ac.c | 19 +++
drivers/acpi/acpi_lpss.c | 13 +-
drivers/acpi/acpi_pnp.c | 2 -
drivers/acpi/acpica/acglobal.h | 2 +
drivers/acpi/acpica/hwesleep.c | 8 +-
drivers/acpi/acpica/hwsleep.c | 11 +-
drivers/acpi/acpica/hwxfsleep.c | 7 +
drivers/acpi/acpica/utosi.c | 1 +
drivers/acpi/apei/einj.c | 15 +-
drivers/acpi/apei/hest.c | 5 +-
drivers/acpi/battery.c | 2 +-
drivers/acpi/dock.c | 8 +-
drivers/acpi/glue.c | 66 ++++++--
drivers/acpi/internal.h | 1 +
drivers/acpi/power.c | 97 +++++-------
drivers/acpi/prmt.c | 35 +++--
drivers/acpi/processor_idle.c | 3 +-
drivers/acpi/resource.c | 56 ++++++-
drivers/acpi/scan.c | 6 +
drivers/acpi/sleep.c | 10 +-
drivers/gpio/gpio-amdpt.c | 4 +-
drivers/gpu/drm/nouveau/nouveau_acpi.c | 9 +-
drivers/pci/pci-acpi.c | 31 +---
drivers/perf/qcom_l2_pmu.c | 7 +-
include/acpi/acpi_bus.h | 1 -
include/acpi/acpixf.h | 2 +-
include/acpi/actbl2.h | 251 +++++++++++++++++++++++++++++-
include/acpi/actbl3.h | 9 +-
include/acpi/actypes.h | 1 +
include/acpi/apei.h | 3 -
include/linux/pci-acpi.h | 8 +
36 files changed, 547 insertions(+), 194 deletions(-)