summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2014-06-17 16:01:08 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-10-05 14:52:10 -0700
commit1f2c5d16eeef415810c2ec6b3bb6e1372897fd84 (patch)
treea77fb0c4ee28b12579222329673b47132d235714 /drivers/gpu
parentb4216116fd15a2609a39c8b40d46fb372c493439 (diff)
downloadkernel-common-1f2c5d16eeef415810c2ec6b3bb6e1372897fd84.tar.gz
kernel-common-1f2c5d16eeef415810c2ec6b3bb6e1372897fd84.tar.bz2
kernel-common-1f2c5d16eeef415810c2ec6b3bb6e1372897fd84.zip
drm/radeon: enable bapm by default on desktop TN/RL boards
commit 0c78a44964db3d483b0c09a8236e0fe123aa9cfc upstream. bapm enabled the GPU and CPU to share TDP headroom. It was disabled by default since some laptops hung when it was enabled in conjunction with dpm. It seems to be stable on desktop boards and fixes hangs on boot with dpm enabled on certain boards, so enable it by default on desktop boards. bug: https://bugs.freedesktop.org/show_bug.cgi?id=72921 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/trinity_dpm.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/trinity_dpm.c b/drivers/gpu/drm/radeon/trinity_dpm.c
index 2da0e17eb960..19be829d2cd7 100644
--- a/drivers/gpu/drm/radeon/trinity_dpm.c
+++ b/drivers/gpu/drm/radeon/trinity_dpm.c
@@ -1877,7 +1877,15 @@ int trinity_dpm_init(struct radeon_device *rdev)
for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++)
pi->at[i] = TRINITY_AT_DFLT;
- pi->enable_bapm = false;
+ /* There are stability issues reported on latops with
+ * bapm installed when switching between AC and battery
+ * power. At the same time, some desktop boards hang
+ * if it's not enabled and dpm is enabled.
+ */
+ if (rdev->flags & RADEON_IS_MOBILITY)
+ pi->enable_bapm = false;
+ else
+ pi->enable_bapm = true;
pi->enable_nbps_policy = true;
pi->enable_sclk_ds = true;
pi->enable_gfx_power_gating = true;