drm/radeon/dpm: handle bapm on trinity
bapm is a power management feature for handling the power budget between the CPU and GPU on APUs. This patch adds support for enabling or disabling it. For now disable it by default. Enabling it properly requires quite a bit more work and will be addressed in a separate patch. This patch fixes hangs on boot on certain trinity laptops when the system is on battery power. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
This commit is contained in:
@@ -1091,6 +1091,7 @@ int trinity_dpm_enable(struct radeon_device *rdev)
|
||||
trinity_program_sclk_dpm(rdev);
|
||||
trinity_start_dpm(rdev);
|
||||
trinity_wait_for_dpm_enabled(rdev);
|
||||
trinity_dpm_bapm_enable(rdev, false);
|
||||
trinity_release_mutex(rdev);
|
||||
|
||||
if (rdev->irq.installed &&
|
||||
@@ -1116,6 +1117,7 @@ void trinity_dpm_disable(struct radeon_device *rdev)
|
||||
trinity_release_mutex(rdev);
|
||||
return;
|
||||
}
|
||||
trinity_dpm_bapm_enable(rdev, false);
|
||||
trinity_disable_clock_power_gating(rdev);
|
||||
sumo_clear_vc(rdev);
|
||||
trinity_wait_for_level_0(rdev);
|
||||
|
Reference in New Issue
Block a user