Commit 5ca302f7 authored by Alex Deucher's avatar Alex Deucher

drm/radeon/dpm: track whether we are on AC or battery

Driver needs this information to validate power states.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 61b7d601
...@@ -1309,6 +1309,7 @@ struct radeon_dpm { ...@@ -1309,6 +1309,7 @@ struct radeon_dpm {
u32 tdp_adjustment; u32 tdp_adjustment;
u16 load_line_slope; u16 load_line_slope;
bool power_control; bool power_control;
bool ac_power;
/* special states active */ /* special states active */
bool thermal_active; bool thermal_active;
bool uvd_active; bool uvd_active;
......
...@@ -1215,6 +1215,7 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev) ...@@ -1215,6 +1215,7 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
mutex_lock(&rdev->pm.mutex); mutex_lock(&rdev->pm.mutex);
/* update active crtc counts */
rdev->pm.dpm.new_active_crtcs = 0; rdev->pm.dpm.new_active_crtcs = 0;
rdev->pm.dpm.new_active_crtc_count = 0; rdev->pm.dpm.new_active_crtc_count = 0;
list_for_each_entry(crtc, list_for_each_entry(crtc,
...@@ -1226,6 +1227,12 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev) ...@@ -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); radeon_dpm_change_power_state_locked(rdev);
mutex_unlock(&rdev->pm.mutex); mutex_unlock(&rdev->pm.mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment