From: Alex Deucher <alexander.deuc...@amd.com>

Driver needs this information to validate power states.

Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/radeon/radeon.h    |    1 +
 drivers/gpu/drm/radeon/radeon_pm.c |    7 +++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 5bdb0bd..53aba4f 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -1314,6 +1314,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;
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c 
b/drivers/gpu/drm/radeon/radeon_pm.c
index 5987580..9ac261f 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -1218,6 +1218,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,
@@ -1229,6 +1230,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);
-- 
1.7.7.5

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to