• Perry Yuan's avatar
    cpufreq: amd-pstate: Fix initial highest_perf value · bedadcfb
    Perry Yuan authored
    To avoid some new AMD processors use wrong highest perf when amd pstate
    driver loaded, this fix will query the highest perf from MSR register
    MSR_AMD_CPPC_CAP1 and cppc_acpi interface firstly, then compare with the
    highest perf value got by calling amd_get_highest_perf() function.
    
    The lower value will be the correct highest perf we need to use.
    Otherwise the CPU max MHz will be incorrect if the
    amd_get_highest_perf() did not cover the new process family and model ID.
    
    Like this lscpu info, the max frequency is incorrect.
    
    Vendor ID:               AuthenticAMD
        Socket(s):           1
        Stepping:            2
        CPU max MHz:         5410.0000
        CPU min MHz:         400.0000
        BogoMIPS:            5600.54
    
    Fixes: 3743d55b (x86, sched: Fix the AMD CPPC maximum performance value on certain AMD Ryzen generations)
    Acked-by: default avatarHuang Rui <ray.huang@amd.com>
    Signed-off-by: default avatarPerry Yuan <Perry.Yuan@amd.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    bedadcfb
amd-pstate.c 18.9 KB