pi->current_rps = *rps;
        pi->current_ps = *new_ps;
        pi->current_rps.ps_priv = &pi->current_ps;
+       adev->pm.dpm.current_ps = &pi->current_rps;
 }
 
 static void ci_update_requested_ps(struct amdgpu_device *adev,
        pi->requested_rps = *rps;
        pi->requested_ps = *new_ps;
        pi->requested_rps.ps_priv = &pi->requested_ps;
+       adev->pm.dpm.requested_ps = &pi->requested_rps;
 }
 
 static int ci_dpm_pre_set_power_state(struct amdgpu_device *adev)
 
 
        pi->current_ps = *ps;
        pi->current_rps = *rps;
-       pi->current_rps.ps_priv = ps;
+       pi->current_rps.ps_priv = &pi->current_ps;
+       adev->pm.dpm.current_ps = &pi->current_rps;
 
 }
 
 
        pi->requested_ps = *ps;
        pi->requested_rps = *rps;
-       pi->requested_rps.ps_priv = ps;
+       pi->requested_rps.ps_priv = &pi->requested_ps;
+       adev->pm.dpm.requested_ps = &pi->requested_rps;
 
 }
 
 
        eg_pi->current_rps = *rps;
        ni_pi->current_ps = *new_ps;
        eg_pi->current_rps.ps_priv = &ni_pi->current_ps;
+       adev->pm.dpm.current_ps = &eg_pi->current_rps;
 }
 
 static void ni_update_requested_ps(struct amdgpu_device *adev,
        eg_pi->requested_rps = *rps;
        ni_pi->requested_ps = *new_ps;
        eg_pi->requested_rps.ps_priv = &ni_pi->requested_ps;
+       adev->pm.dpm.requested_ps = &eg_pi->requested_rps;
 }
 
 static void ni_set_uvd_clock_before_set_eng_clock(struct amdgpu_device *adev,