Skip to content

Commit 0907339

Browse files
superm1rafaeljw
authored andcommitted
ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC 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]>
1 parent ff69927 commit 0907339

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/acpi/cppc_acpi.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
782782

783783
if (!osc_cpc_flexible_adr_space_confirmed) {
784784
pr_debug("Flexible address space capability not supported\n");
785-
goto out_free;
785+
if (!cpc_supported_by_cpu())
786+
goto out_free;
786787
}
787788

788789
addr = ioremap(gas_t->address, gas_t->bit_width/8);
@@ -809,7 +810,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
809810
}
810811
if (!osc_cpc_flexible_adr_space_confirmed) {
811812
pr_debug("Flexible address space capability not supported\n");
812-
goto out_free;
813+
if (!cpc_supported_by_cpu())
814+
goto out_free;
813815
}
814816
} else {
815817
if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {

0 commit comments

Comments
 (0)