linux/include/acpi
Christian Loehle 11055a46f3 ACPI: CPPC: Check all controls for fast switching
ACPI 6.2, Section 6.2.11.2 permits _CPC registers to use flexible
address spaces. Linux advertises that capability through _OSC and parses
the address space of each _CPC register independently. A directly
accessible DESIRED_PERF combined with PCC-backed limits is therefore a
valid configuration.

cppc_allow_fast_switch() only checks DESIRED_PERF, although the fast-switch
callback passes DESIRED_PERF, MIN_PERF and MAX_PERF to cppc_set_perf(). If
a limit uses PCC, that function can sleep while called from scheduler
context.

Allow fast switching only when every supported control used by the
callback has an address space already accepted for fast access. Check the
complete policy domain, including initialized CPUs that are currently
offline and may later become the policy's managing CPU.

Fixes: 658fa7b1c4 ("ACPI: CPPC: Add cppc_get_perf() API to read performance controls")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Link: https://patch.msgid.link/20260722093825.1030594-2-christian.loehle@arm.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-07-22 15:09:14 +02:00
..
platform ACPICA: Define acpi_ut_safe_strncpy() as strscpy_pad() alias 2026-07-01 12:29:24 +02:00
acbuffer.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acconfig.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acexcep.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acnames.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acoutput.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acpi_bus.h Driver core changes for 7.2-rc1 2026-06-15 12:41:17 +05:30
acpi_drivers.h ACPI: PCI: IRQ: Fix INTx GSIs signedness 2026-01-05 19:06:40 +01:00
acpi_io.h Revert "ACPI: Add memory semantics to acpi_os_map_memory()" 2021-09-23 20:39:36 +02:00
acpi_lpat.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
acpi_numa.h mm/fake-numa: allow later numa node hotplug 2025-01-25 20:22:29 -08:00
acpi.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acpiosxf.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acpixf.h Merge branch 'acpica' 2026-06-11 14:57:55 +02:00
acrestyp.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
actbl.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
actbl1.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
actbl2.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
actbl3.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
actypes.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
acuuid.h ACPICA: Update the copyright year to 2026 2026-05-27 20:18:47 +02:00
apei.h ACPI: APEI: Fix missing ERST record id 2022-04-13 20:29:24 +02:00
battery.h ACPI: battery: add devm_battery_hook_register() 2024-07-01 21:22:18 +08:00
button.h ACPI: button: move HIDs to acpi/button.h 2020-02-13 23:36:23 +01:00
cppc_acpi.h ACPI: CPPC: Check all controls for fast switching 2026-07-22 15:09:14 +02:00
ghes.h ACPI: APEI: GHES: Add devm_ghes_register_vendor_record_notifier() 2026-04-06 16:48:58 +02:00
hed.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
nfit.h acpi, nfit: Add function to look up nvdimm device and provide SMBIOS handle 2018-03-14 12:43:50 +01:00
nhlt.h ACPI: NHLT: Streamline struct naming 2024-03-27 16:36:45 +01:00
pcc.h Revert "mailbox/pcc: support mailbox management of the shared buffer" 2026-01-18 14:19:20 -06:00
proc_cap_intel.h ACPI: processor: Introduce acpi_processor_osc() 2023-07-14 17:59:40 +02:00
processor.h ACPI: driver: Do not set acpi_device_class() unnecessarily 2026-03-13 16:48:26 +01:00
reboot.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
video.h ACPI: video: Add Dell UART backlight controller detection 2024-08-19 15:58:35 +02:00