drm/radeon/dpm: add infrastructure to properly handle bapm
bapm is a pm feature for sharing the power budget between the GPU and the CPU on APUs. It needs to be enabled or disabled in certain circumstances. For now, disable it when on battery and enable it when on AC power. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -67,7 +67,16 @@ int radeon_pm_get_type_index(struct radeon_device *rdev,
|
||||
|
||||
void radeon_pm_acpi_event_handler(struct radeon_device *rdev)
|
||||
{
|
||||
if (rdev->pm.pm_method == PM_METHOD_PROFILE) {
|
||||
if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) {
|
||||
mutex_lock(&rdev->pm.mutex);
|
||||
if (power_supply_is_system_supplied() > 0)
|
||||
rdev->pm.dpm.ac_power = true;
|
||||
else
|
||||
rdev->pm.dpm.ac_power = false;
|
||||
if (rdev->asic->dpm.enable_bapm)
|
||||
radeon_dpm_enable_bapm(rdev, rdev->pm.dpm.ac_power);
|
||||
mutex_unlock(&rdev->pm.mutex);
|
||||
} else if (rdev->pm.pm_method == PM_METHOD_PROFILE) {
|
||||
if (rdev->pm.profile == PM_PROFILE_AUTO) {
|
||||
mutex_lock(&rdev->pm.mutex);
|
||||
radeon_pm_update_profile(rdev);
|
||||
|
Reference in New Issue
Block a user