Skip to content

Commit

Permalink
ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC …
Browse files Browse the repository at this point in the history
…is supported

Commit 0651ab9 ("ACPI: CPPC: Check _OSC for flexible address space")
changed _CPC probing to require flexible address space to be negotiated
for CPPC to work.

However it was observed that this caused a regression for Arek's ROG
Zephyrus G15 GA503QM which previously CPPC worked, but now it stopped
working.

To avoid causing a regression waive this failure when the CPU is known
to support CPPC.

Cc: Pierre Gondois <[email protected]>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216248
Fixes: 0651ab9 ("ACPI: CPPC: Check _OSC for flexible address space")
Reported-and-tested-by: Arek Ruśniak <[email protected]>
Signed-off-by: Mario Limonciello <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
  • Loading branch information
superm1 authored and rafaeljw committed Jul 18, 2022
1 parent ff69927 commit 0907339
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/acpi/cppc_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -782,7 +782,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)

if (!osc_cpc_flexible_adr_space_confirmed) {
pr_debug("Flexible address space capability not supported\n");
goto out_free;
if (!cpc_supported_by_cpu())
goto out_free;
}

addr = ioremap(gas_t->address, gas_t->bit_width/8);
Expand All @@ -809,7 +810,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
}
if (!osc_cpc_flexible_adr_space_confirmed) {
pr_debug("Flexible address space capability not supported\n");
goto out_free;
if (!cpc_supported_by_cpu())
goto out_free;
}
} else {
if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
Expand Down

0 comments on commit 0907339

Please sign in to comment.