]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 5 Jul 2022 18:29:14 +0000 (13:29 -0500)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 5 Jul 2022 18:36:11 +0000 (20:36 +0200)
commit8141bb63b00b92475e18067e24c071ee6078ce28
tree52f12c34344cda0070472741c38b7e830a1e7bb9
parent1b68ebd3d24bb21b76bad3eec1cff5fe29f36122
ACPI: CPPC: Only probe for _CPC if CPPC v2 is acked

Previously the kernel used to ignore whether the firmware masked CPPC
or CPPCv2 and would just pretend that it worked.

When support for the USB4 bit in _OSC was introduced from commit
9e1f561afb ("ACPI: Execute platform _OSC also with query bit clear")
the kernel began to look at the return when the query bit was clear.

This caused regressions that were misdiagnosed and attempted to be solved
as part of commit ba7e2ba65349 ("Revert "ACPI: Pass the same capabilities
to the _OSC regardless of the query flag""). This caused a different
regression where non-Intel systems weren't able to negotiate _OSC
properly.

This was reverted in commit ba7e2ba65349 ("Revert "ACPI: Pass the same
capabilities to the _OSC regardless of the query flag"") and attempted to
be fixed by commit a825846d3d7c ("ACPI: bus: Avoid using CPPC if not
supported by firmware") but the regression still returned.

These systems with the regression only load support for CPPC from an SSDT
dynamically when _OSC reports CPPC v2.  Avoid the problem by not letting
CPPC satisfy the requirement in `acpi_cppc_processor_probe`.

Reported-by: CUI Hao <cuihao.leo@gmail.com>
Reported-by: maxim.novozhilov@gmail.com
Reported-by: lethe.tree@protonmail.com
Reported-by: garystephenwright@gmail.com
Reported-by: galaxyking0419@gmail.com
Fixes: a825846d3d7c ("ACPI: bus: Avoid using CPPC if not supported by firmware")
Fixes: ba7e2ba65349 ("Revert "ACPI Pass the same capabilities to the _OSC regardless of the query flag"")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=213023
Link: https://bugzilla.redhat.com/show_bug.cgi?id=2075387
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: CUI Hao <cuihao.leo@gmail.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/bus.c
drivers/acpi/cppc_acpi.c
include/linux/acpi.h