struct radeon_ps *boot_ps;
/* default uvd power state */
struct radeon_ps *uvd_ps;
- struct radeon_ps hw_ps;
enum radeon_pm_state_type state;
enum radeon_pm_state_type user_state;
u32 platform_caps;
return NULL;
}
-static void radeon_dpm_update_requested_ps(struct radeon_device *rdev,
- struct radeon_ps *ps)
-{
- /* copy the ps to the hw ps and point the requested ps
- * at the hw state in case the driver wants to modify
- * the state dynamically.
- */
- rdev->pm.dpm.hw_ps = *ps;
- rdev->pm.dpm.requested_ps = &rdev->pm.dpm.hw_ps;
-}
-
static void radeon_dpm_change_power_state_locked(struct radeon_device *rdev)
{
int i;
ps = radeon_dpm_pick_power_state(rdev, dpm_state);
if (ps)
- radeon_dpm_update_requested_ps(rdev, ps);
+ rdev->pm.dpm.requested_ps = ps;
else
return;
down_write(&rdev->pm.mclk_lock);
mutex_lock(&rdev->ring_lock);
- if (rdev->asic->dpm.pre_set_power_state) {
- ret = radeon_dpm_pre_set_power_state(rdev);
- if (ret)
- goto done;
- }
+ ret = radeon_dpm_pre_set_power_state(rdev);
+ if (ret)
+ goto done;
/* update display watermarks based on new power state */
radeon_bandwidth_update(rdev);
/* update current power state */
rdev->pm.dpm.current_ps = rdev->pm.dpm.requested_ps;
- if (rdev->asic->dpm.post_set_power_state)
- radeon_dpm_post_set_power_state(rdev);
+ radeon_dpm_post_set_power_state(rdev);
done:
mutex_unlock(&rdev->ring_lock);