cpufreq: intel_pstate: Enable PPC enforcement for servers
For platforms which are controlled via remove node manager, enable _PPC by default. These platforms are mostly categorized as enterprise server or performance servers. These platforms needs to go through some certifications tests, which tests control via _PPC. The relative risk of enabling by default is low as this is is less likely that these systems have broken _PSS table. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Родитель
3be9200d51
Коммит
2b3ec76505
|
@ -1662,7 +1662,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
|||
Only load intel_pstate on systems which support
|
||||
hardware P state control (HWP) if available.
|
||||
support_acpi_ppc
|
||||
Enforce ACPI _PPC performance limits.
|
||||
Enforce ACPI _PPC performance limits. If the Fixed ACPI
|
||||
Description Table, specifies preferred power management
|
||||
profile as "Enterprise Server" or "Performance Server",
|
||||
then this feature is turned on by default.
|
||||
|
||||
intremap= [X86-64, Intel-IOMMU]
|
||||
on enable Interrupt Remapping (default)
|
||||
|
|
|
@ -347,6 +347,16 @@ static struct perf_limits *limits = &powersave_limits;
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_ACPI
|
||||
|
||||
static bool intel_pstate_get_ppc_enable_status(void)
|
||||
{
|
||||
if (acpi_gbl_FADT.preferred_profile == PM_ENTERPRISE_SERVER ||
|
||||
acpi_gbl_FADT.preferred_profile == PM_PERFORMANCE_SERVER)
|
||||
return true;
|
||||
|
||||
return acpi_ppc;
|
||||
}
|
||||
|
||||
/*
|
||||
* The max target pstate ratio is a 8 bit value in both PLATFORM_INFO MSR and
|
||||
* in TURBO_RATIO_LIMIT MSR, which pstate driver stores in max_pstate and
|
||||
|
@ -370,7 +380,7 @@ static void intel_pstate_init_acpi_perf_limits(struct cpufreq_policy *policy)
|
|||
int ret;
|
||||
int i;
|
||||
|
||||
if (!acpi_ppc)
|
||||
if (!intel_pstate_get_ppc_enable_status())
|
||||
return;
|
||||
|
||||
cpu = all_cpu_data[policy->cpu];
|
||||
|
|
Загрузка…
Ссылка в новой задаче