Message ID | 1447124291-14059-2-git-send-email-srinivas.pandruvada@linux.intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Rafael Wysocki |
Headers | show |
On Monday, November 09, 2015 06:58:09 PM Srinivas Pandruvada wrote: > When HWP is enabled, the information in _PSS and _PPC prevents entering > turbo states. The reason is HWP and legacy pstate are not compatible. > There is no processing of turbo activation ratio in HWP, but _PPC setting > still behaves as there is support. So we end up in a pstate, which is > below or equal to max non turbo ratio. Also the max turbo ratio is set to > wrong value in _PSS, so even if HWP is disabled to use acpi-cpufrq or > intel_pstate in legacy mode, this will still cause issue. This change will > not read any _PSS table or call acpi_processor_register_performance, > when the platform has HWP feature. > > Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> > --- > drivers/cpufreq/intel_pstate.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c > index 93a3c63..a0b8180 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -1557,8 +1557,11 @@ static int __init intel_pstate_init(void) > if (!all_cpu_data) > return -ENOMEM; > > - if (static_cpu_has_safe(X86_FEATURE_HWP) && !no_hwp) > - hwp_active++; > + if (static_cpu_has_safe(X86_FEATURE_HWP)) { > + if (!no_hwp) > + hwp_active++; > + no_acpi_perf = 1; > + } > > if (!hwp_active && hwp_only) > goto out; Rebased on top of the current Linus' tree and applied. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 93a3c63..a0b8180 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -1557,8 +1557,11 @@ static int __init intel_pstate_init(void) if (!all_cpu_data) return -ENOMEM; - if (static_cpu_has_safe(X86_FEATURE_HWP) && !no_hwp) - hwp_active++; + if (static_cpu_has_safe(X86_FEATURE_HWP)) { + if (!no_hwp) + hwp_active++; + no_acpi_perf = 1; + } if (!hwp_active && hwp_only) goto out;
When HWP is enabled, the information in _PSS and _PPC prevents entering turbo states. The reason is HWP and legacy pstate are not compatible. There is no processing of turbo activation ratio in HWP, but _PPC setting still behaves as there is support. So we end up in a pstate, which is below or equal to max non turbo ratio. Also the max turbo ratio is set to wrong value in _PSS, so even if HWP is disabled to use acpi-cpufrq or intel_pstate in legacy mode, this will still cause issue. This change will not read any _PSS table or call acpi_processor_register_performance, when the platform has HWP feature. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> --- drivers/cpufreq/intel_pstate.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)