diff options
| author | Christian Loehle <christian.loehle@arm.com> | 2026-09-16 17:27:48 +0100 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2026-09-18 17:29:07 +0200 |
| commit | 3685d9829c7161a05d338cb3b3367c6a76d38ed8 (patch) | |
| tree | 98cf672ba5f08698df1b03d46840ce5e714712fd /scripts/stackusage | |
| parent | 32299b29a887ed5615695f42a19cd8a843903146 (diff) | |
| download | linux-3685d9829c7161a05d338cb3b3367c6a76d38ed8.tar.gz linux-3685d9829c7161a05d338cb3b3367c6a76d38ed8.zip | |
ACPI: CPPC: Propagate performance-control write errors
cppc_set_perf() can skip malformed controls, discard cpc_write() failures,
and report success without programming the requested performance tuple.
Return every control-write error to the caller and honor the explicit
Minimum Performance validity flag, so an explicit zero minimum remains
distinct from a legacy omitted bound. Validate every requested PCC field
before changing either a direct control or the shared payload; after that
check, PCC staging cannot fail partway through a tuple.
Multiple Phase-I callers may set the pending flag to true while holding
the shared side of pcc_lock. Mark that intentional same-value store with
WRITE_ONCE().
A layout which mixes PCC with directly accessed controls needs stronger
ordering. A fallible direct write cannot safely run alongside another CPU's
staged PCC tuple: if it fails after changing a direct register, neither
submitting nor discarding the shared batch can preserve the other request.
Serialize the complete mixed transaction with the exclusive PCC lock.
Drain an older pending batch before changing a direct control. Check the
preceding PCC command for completion, then program the direct and PCC
portions and submit the new command synchronously. Use the mixed-layout
synchronization even when the current request omits its PCC-backed bounds,
so a direct-only update cannot race a prior PCC command.
Fixes: 337aadff8e45 ("ACPI: Introduce CPU performance controls using CPPC")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Link: https://sashiko.dev/#/patchset/20260807111303.1062391-1-christian.loehle%40arm.com
Signed-off-by: Christian Loehle <christian.loehle@arm.com>
Tested-by: Sumit Gupta <sumitg@nvidia.com>
Link: https://patch.msgid.link/20260916162805.1039247-4-christian.loehle@arm.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'scripts/stackusage')
0 files changed, 0 insertions, 0 deletions
