| From 72b3f9183ed57e4a2f0601a1c25ae2fd39855952 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Sun, 26 Oct 2014 15:10:21 -0400 |
| Subject: drm/radeon: dpm fixes for asrock systems |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 72b3f9183ed57e4a2f0601a1c25ae2fd39855952 upstream. |
| |
| - bapm seems to cause CPU stuck messages so disable it. |
| - nb dpm seems to prevent GPU dpm from getting enabled, so |
| disable it. |
| |
| bug: |
| https://bugs.freedesktop.org/show_bug.cgi?id=85107 |
| |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/kv_dpm.c | 19 ++++++++++++++++--- |
| 1 file changed, 16 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/kv_dpm.c |
| +++ b/drivers/gpu/drm/radeon/kv_dpm.c |
| @@ -2725,7 +2725,11 @@ int kv_dpm_init(struct radeon_device *rd |
| |
| pi->sram_end = SMC_RAM_END; |
| |
| - pi->enable_nb_dpm = true; |
| + /* Enabling nb dpm on an asrock system prevents dpm from working */ |
| + if (rdev->pdev->subsystem_vendor == 0x1849) |
| + pi->enable_nb_dpm = false; |
| + else |
| + pi->enable_nb_dpm = true; |
| |
| pi->caps_power_containment = true; |
| pi->caps_cac = true; |
| @@ -2740,10 +2744,19 @@ int kv_dpm_init(struct radeon_device *rd |
| pi->caps_sclk_ds = true; |
| pi->enable_auto_thermal_throttling = true; |
| pi->disable_nb_ps3_in_battery = false; |
| - if (radeon_bapm == 0) |
| + if (radeon_bapm == -1) { |
| + /* There are stability issues reported on with |
| + * bapm enabled on an asrock system. |
| + */ |
| + if (rdev->pdev->subsystem_vendor == 0x1849) |
| + pi->bapm_enable = false; |
| + else |
| + pi->bapm_enable = true; |
| + } else if (radeon_bapm == 0) { |
| pi->bapm_enable = false; |
| - else |
| + } else { |
| pi->bapm_enable = true; |
| + } |
| pi->voltage_drop_t = 0; |
| pi->caps_sclk_throttle_low_notification = false; |
| pi->caps_fps = false; /* true? */ |