aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch')
-rw-r--r--common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch b/common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch
new file mode 100644
index 00000000..a8fbbdf6
--- /dev/null
+++ b/common/recipes-kernel/linux/files/0128-drm-powerplay-add-debugging-output-to-tonga_processp.patch
@@ -0,0 +1,78 @@
+From 8ba17c733ffb662a95b9fe0594e79d2cca827507 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Fri, 11 Dec 2015 12:12:32 -0500
+Subject: [PATCH 0128/1110] drm/powerplay: add debugging output to
+ tonga_processpptables.c
+
+To help track down init errors.
+
+Reviewed-by: Tom St Denis <tom.stdenis@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../amd/powerplay/hwmgr/tonga_processpptables.c | 39 ++++++++++++++--------
+ 1 file changed, 26 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
+index ddb03a0..2f09bb3 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c
+@@ -942,8 +942,8 @@ int tonga_pp_tables_initialize(struct pp_hwmgr *hwmgr)
+
+ hwmgr->pptable = kzalloc(sizeof(struct phm_ppt_v1_information), GFP_KERNEL);
+
+- if (NULL == hwmgr->pptable)
+- return -1;
++ PP_ASSERT_WITH_CODE((NULL != hwmgr->pptable),
++ "Failed to allocate hwmgr->pptable!", return -1);
+
+ memset(hwmgr->pptable, 0x00, sizeof(struct phm_ppt_v1_information));
+
+@@ -954,21 +954,34 @@ int tonga_pp_tables_initialize(struct pp_hwmgr *hwmgr)
+
+ result = check_powerplay_tables(hwmgr, powerplay_table);
+
+- if (0 == result)
+- result = set_platform_caps(hwmgr,
+- le32_to_cpu(powerplay_table->ulPlatformCaps));
++ PP_ASSERT_WITH_CODE((result == 0),
++ "check_powerplay_tables failed", return result);
++
++ result = set_platform_caps(hwmgr,
++ le32_to_cpu(powerplay_table->ulPlatformCaps));
++
++ PP_ASSERT_WITH_CODE((result == 0),
++ "set_platform_caps failed", return result);
++
++ result = init_thermal_controller(hwmgr, powerplay_table);
++
++ PP_ASSERT_WITH_CODE((result == 0),
++ "init_thermal_controller failed", return result);
++
++ result = init_over_drive_limits(hwmgr, powerplay_table);
++
++ PP_ASSERT_WITH_CODE((result == 0),
++ "init_over_drive_limits failed", return result);
+
+- if (0 == result)
+- result = init_thermal_controller(hwmgr, powerplay_table);
++ result = init_clock_voltage_dependency(hwmgr, powerplay_table);
+
+- if (0 == result)
+- result = init_over_drive_limits(hwmgr, powerplay_table);
++ PP_ASSERT_WITH_CODE((result == 0),
++ "init_clock_voltage_dependency failed", return result);
+
+- if (0 == result)
+- result = init_clock_voltage_dependency(hwmgr, powerplay_table);
++ result = init_dpm_2_parameters(hwmgr, powerplay_table);
+
+- if (0 == result)
+- result = init_dpm_2_parameters(hwmgr, powerplay_table);
++ PP_ASSERT_WITH_CODE((result == 0),
++ "init_dpm_2_parameters failed", return result);
+
+ return result;
+ }
+--
+2.7.4
+