Re: [PATCH v3 0/3] ACPI: CPPC: Avoid Desired Performance reads on ACPI 6.6+

Sumit Gupta <[email protected]> Mon, 3 Aug 2026 18:37:49 +0530
Newsgroups org.kernel.vger.linux-pm,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 03/08/26 15:32, Christian Loehle wrote:
> External email: Use caution opening links or attachments
>
>
> ACPI 6.6 changed the Optional Attribute of Desired Performance from
> Read/Write to Write.
>
> cppc-cpufreq reads Desired Performance when feedback counters cannot
> provide a usable sample because some older platforms repurpose the
> register to report actual delivered performance. Preserve that workaround
> on systems reporting an older ACPI revision, but do not attempt the read
> on ACPI 6.6 or later, where firmware no longer promises a readable value
> and cppc-cpufreq can fall back to its cached OSPM request instead.
>
> cppc_get_perf() also reads Desired Performance while populating the
> control values used during cppc-cpufreq initialization. Its only in-tree
> caller overwrites that value with highest_perf before the controls are
> first written, so the value is never consumed.
>
> Patches 1 and 2 provide minimal, backportable fixes for the two read
> paths. Patch 3 simplifies the mainline API by no longer reading
> Desired Performance through cppc_get_perf() on any ACPI revision.
>
> Changes since v2:
> - Fall back to the cached OSPM request when reading Desired Performance
>    returns zero as suggested by Sumit Gupta.
> - Pick up Reviewed-by tags from Zhongqiu Han for patches 2 and 3.
> - Rebase onto v7.2-rc6
>
> Christian Loehle (3):
>    ACPI: CPPC: Reject desired_perf reads on ACPI 6.6+
>    ACPI: CPPC: Skip desired_perf read in cppc_get_perf()
>    ACPI: CPPC: Stop reading desired_perf in cppc_get_perf()

For the entire series:
   Reviewed-by: Sumit Gupta <[email protected]>

Thanks,
Sumit