|
@@ -2394,6 +2394,18 @@ static bool __init intel_pstate_no_acpi_pss(void)
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+static bool __init intel_pstate_no_acpi_pcch(void)
|
|
|
+{
|
|
|
+ acpi_status status;
|
|
|
+ acpi_handle handle;
|
|
|
+
|
|
|
+ status = acpi_get_handle(NULL, "\\_SB", &handle);
|
|
|
+ if (ACPI_FAILURE(status))
|
|
|
+ return true;
|
|
|
+
|
|
|
+ return !acpi_has_method(handle, "PCCH");
|
|
|
+}
|
|
|
+
|
|
|
static bool __init intel_pstate_has_acpi_ppc(void)
|
|
|
{
|
|
|
int i;
|
|
@@ -2453,7 +2465,10 @@ static bool __init intel_pstate_platform_pwr_mgmt_exists(void)
|
|
|
|
|
|
switch (plat_info[idx].data) {
|
|
|
case PSS:
|
|
|
- return intel_pstate_no_acpi_pss();
|
|
|
+ if (!intel_pstate_no_acpi_pss())
|
|
|
+ return false;
|
|
|
+
|
|
|
+ return intel_pstate_no_acpi_pcch();
|
|
|
case PPC:
|
|
|
return intel_pstate_has_acpi_ppc() && !force_load;
|
|
|
}
|