mirror of https://gitee.com/openkylin/linux.git
drm/radeon/dpm: track whether we are on AC or battery
Driver needs this information to validate power states. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
61b7d60110
commit
5ca302f701
|
@ -1309,6 +1309,7 @@ struct radeon_dpm {
|
|||
u32 tdp_adjustment;
|
||||
u16 load_line_slope;
|
||||
bool power_control;
|
||||
bool ac_power;
|
||||
/* special states active */
|
||||
bool thermal_active;
|
||||
bool uvd_active;
|
||||
|
|
|
@ -1215,6 +1215,7 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
|
|||
|
||||
mutex_lock(&rdev->pm.mutex);
|
||||
|
||||
/* update active crtc counts */
|
||||
rdev->pm.dpm.new_active_crtcs = 0;
|
||||
rdev->pm.dpm.new_active_crtc_count = 0;
|
||||
list_for_each_entry(crtc,
|
||||
|
@ -1226,6 +1227,12 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
|
|||
}
|
||||
}
|
||||
|
||||
/* update battery/ac status */
|
||||
if (power_supply_is_system_supplied() > 0)
|
||||
rdev->pm.dpm.ac_power = true;
|
||||
else
|
||||
rdev->pm.dpm.ac_power = false;
|
||||
|
||||
radeon_dpm_change_power_state_locked(rdev);
|
||||
|
||||
mutex_unlock(&rdev->pm.mutex);
|
||||
|
|
Loading…
Reference in New Issue