• Wyes Karny's avatar
    cpufreq: amd-pstate: Update policy->cur in amd_pstate_adjust_perf() · 3bf8c630
    Wyes Karny authored
    Driver should update policy->cur after updating the frequency.
    Currently amd_pstate doesn't update policy->cur when `adjust_perf`
    is used. Which causes /proc/cpuinfo to show wrong cpu frequency.
    Fix this by updating policy->cur with correct frequency value in
    adjust_perf function callback.
    
    - Before the fix: (setting min freq to 1.5 MHz)
    
    [root@amd]# cat /proc/cpuinfo | grep "cpu MHz" | sort | uniq --count
          1 cpu MHz         : 1777.016
          1 cpu MHz         : 1797.160
          1 cpu MHz         : 1797.270
        189 cpu MHz         : 400.000
    
    - After the fix: (setting min freq to 1.5 MHz)
    
    [root@amd]# cat /proc/cpuinfo | grep "cpu MHz" | sort | uniq --count
          1 cpu MHz         : 1753.353
          1 cpu MHz         : 1756.838
          1 cpu MHz         : 1776.466
          1 cpu MHz         : 1776.873
          1 cpu MHz         : 1777.308
          1 cpu MHz         : 1779.900
        183 cpu MHz         : 1805.231
          1 cpu MHz         : 1956.815
          1 cpu MHz         : 2246.203
          1 cpu MHz         : 2259.984
    
    Fixes: 1d215f03 ("cpufreq: amd-pstate: Add fast switch function for AMD P-State")
    Signed-off-by: default avatarWyes Karny <wyes.karny@amd.com>
    [ rjw: Subject edits ]
    Cc: 5.17+ <stable@vger.kernel.org> # 5.17+
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    3bf8c630
amd-pstate.c 36.6 KB