lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.14 140/161] cpufreq: intel_pstate: Enable HWP during system resume on CPU0
    Date
    From: Chen Yu <yu.c.chen@intel.com>

    [ Upstream commit 70f6bf2a3b7e40c3f802b0ea837762a8bc6c1430 ]

    When maxcpus=1 is in the kernel command line, the BP is responsible
    for re-enabling the HWP - because currently only the APs invoke
    intel_pstate_hwp_enable() during their online process - which might
    put the system into unstable state after resume.

    Fix this by enabling the HWP explicitly on BP during resume.

    Reported-by: Doug Smythies <dsmythies@telus.net>
    Suggested-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Yu Chen <yu.c.chen@intel.com>
    [ rjw: Subject/changelog, minor modifications ]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/cpufreq/intel_pstate.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
    index 93a0e88bef76..20226d4243f2 100644
    --- a/drivers/cpufreq/intel_pstate.c
    +++ b/drivers/cpufreq/intel_pstate.c
    @@ -779,6 +779,8 @@ static int intel_pstate_hwp_save_state(struct cpufreq_policy *policy)
    return 0;
    }

    +static void intel_pstate_hwp_enable(struct cpudata *cpudata);
    +
    static int intel_pstate_resume(struct cpufreq_policy *policy)
    {
    if (!hwp_active)
    @@ -786,6 +788,9 @@ static int intel_pstate_resume(struct cpufreq_policy *policy)

    mutex_lock(&intel_pstate_limits_lock);

    + if (policy->cpu == 0)
    + intel_pstate_hwp_enable(all_cpu_data[policy->cpu]);
    +
    all_cpu_data[policy->cpu]->epp_policy = 0;
    intel_pstate_hwp_set(policy->cpu);

    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 04:56    [W:4.057 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site