1. 15 Feb, 2023 1 commit
    • Wyes Karny's avatar
      cpufreq: amd-pstate: Fix invalid write to MSR_AMD_CPPC_REQ · 6e9d1212
      Wyes Karny authored
      `amd_pstate_set_epp` function uses `cppc_req_cached` and `epp` variable
      to update the MSR_AMD_CPPC_REQ register for AMD MSR systems. The recent
      commit 7cca9a98 ("cpufreq: amd-pstate: avoid uninitialized variable
      use") changed the sequence of updating cppc_req_cached and writing the
      MSR_AMD_CPPC_REQ. Therefore while switching from powersave to
      performance governor and vice-versa in active mode MSR_AMD_CPPC_REQ is
      set with the previous cached value. To fix this: first update the
      `cppc_req_cached` variable and then call `amd_pstate_set_epp` function.
      
       - Before commit 7cca9a98 ("cpufreq: amd-pstate: avoid uninitialized
         variable use"):
      
      With powersave governor:
      [    1.652743] amd_pstate_epp_init: writing to cppc_req_cached = 0x1eff
      [    1.652744] amd_pstate_set_epp: writing cppc_req_cached = 0x1eff
      [    1.652746] amd_pstate_set_epp: writing min_perf = 30, des_perf = 0, max_perf = 255, epp = 0
      
      Changing to performance governor:
      [  300.493842] amd_pstate_epp_init: writing to cppc_req_cached = 0xffff
      [  300.493846] amd_pstate_set_epp: writing cppc_req_cached = 0xffff
      [  300.493847] amd_pstate_set_epp: writing min_perf = 255, des_perf = 0, max_perf = 255, epp = 0
      
       - After commit 7cca9a98 ("cpufreq: amd-pstate: avoid uninitialized
         variable use"):
      
      With powersave governor:
      [    1.646037] amd_pstate_set_epp: writing cppc_req_cached = 0xffff
      [    1.646038] amd_pstate_set_epp: writing min_perf = 255, des_perf = 0, max_perf = 255, epp = 0
      [    1.646042] amd_pstate_epp_init: writing to cppc_req_cached = 0x1eff
      
      Changing to performance governor:
      [  687.117401] amd_pstate_set_epp: writing cppc_req_cached = 0x1eff
      [  687.117405] amd_pstate_set_epp: writing min_perf = 30, des_perf = 0, max_perf = 255, epp = 0
      [  687.117419] amd_pstate_epp_init: writing to cppc_req_cached = 0xffff
      
       - After this fix:
      
      With powersave governor:
      [    2.525717] amd_pstate_epp_init: writing to cppc_req_cached = 0x1eff
      [    2.525720] amd_pstate_set_epp: writing cppc_req_cached = 0x1eff
      [    2.525722] amd_pstate_set_epp: writing min_perf = 30, des_perf = 0, max_perf = 255, epp = 0
      
      Changing to performance governor:
      [ 3440.152468] amd_pstate_epp_init: writing to cppc_req_cached = 0xffff
      [ 3440.152473] amd_pstate_set_epp: writing cppc_req_cached = 0xffff
      [ 3440.152474] amd_pstate_set_epp: writing min_perf = 255, des_perf = 0, max_perf = 255, epp = 0
      
      Fixes: 7cca9a98 ("cpufreq: amd-pstate: avoid uninitialized variable use")
      Signed-off-by: default avatarWyes Karny <wyes.karny@amd.com>
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      6e9d1212
  2. 14 Feb, 2023 6 commits
  3. 13 Feb, 2023 1 commit
  4. 12 Feb, 2023 10 commits
  5. 11 Feb, 2023 5 commits
  6. 10 Feb, 2023 16 commits
  7. 09 Feb, 2023 1 commit