Commit 09073396 authored by Mario Limonciello's avatar Mario Limonciello Committed by Rafael J. Wysocki

ACPI: CPPC: Don't require flexible address space if X86_FEATURE_CPPC is supported

Commit 0651ab90 ("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 <pierre.gondois@arm.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216248
Fixes: 0651ab90 ("ACPI: CPPC: Check _OSC for flexible address space")
Reported-and-tested-by: default avatarArek Ruśniak <arek.rusi@gmail.com>
Signed-off-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent ff699273
...@@ -782,7 +782,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) ...@@ -782,7 +782,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
if (!osc_cpc_flexible_adr_space_confirmed) { if (!osc_cpc_flexible_adr_space_confirmed) {
pr_debug("Flexible address space capability not supported\n"); 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); addr = ioremap(gas_t->address, gas_t->bit_width/8);
...@@ -809,7 +810,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr) ...@@ -809,7 +810,8 @@ int acpi_cppc_processor_probe(struct acpi_processor *pr)
} }
if (!osc_cpc_flexible_adr_space_confirmed) { if (!osc_cpc_flexible_adr_space_confirmed) {
pr_debug("Flexible address space capability not supported\n"); pr_debug("Flexible address space capability not supported\n");
goto out_free; if (!cpc_supported_by_cpu())
goto out_free;
} }
} else { } else {
if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) { if (gas_t->space_id != ACPI_ADR_SPACE_FIXED_HARDWARE || !cpc_ffh_supported()) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment