diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0129-drm-powerplay-add-debugging-output-to-processpptable.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0129-drm-powerplay-add-debugging-output-to-processpptable.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0129-drm-powerplay-add-debugging-output-to-processpptable.patch b/common/recipes-kernel/linux/files/0129-drm-powerplay-add-debugging-output-to-processpptable.patch new file mode 100644 index 00000000..60cedcfd --- /dev/null +++ b/common/recipes-kernel/linux/files/0129-drm-powerplay-add-debugging-output-to-processpptable.patch @@ -0,0 +1,83 @@ +From bb4da830a4501d0a4af27db7fa11ed3d763d19bc Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Fri, 11 Dec 2015 12:32:55 -0500 +Subject: [PATCH 0129/1110] drm/powerplay: add debugging output to + 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> +--- + .../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 42 +++++++++++++++------- + 1 file changed, 29 insertions(+), 13 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c +index fdda6b4..1d385f4 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c +@@ -27,6 +27,7 @@ + #include "processpptables.h" + #include <atom-types.h> + #include <atombios.h> ++#include "pp_debug.h" + #include "pptable.h" + #include "power_state.h" + #include "hwmgr.h" +@@ -1539,25 +1540,40 @@ static int pp_tables_initialize(struct pp_hwmgr *hwmgr) + + result = init_powerplay_tables(hwmgr, powerplay_table); + +- if (0 == result) +- result = set_platform_caps(hwmgr, ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_powerplay_tables failed", return result); ++ ++ result = set_platform_caps(hwmgr, + le32_to_cpu(powerplay_table->ulPlatformCaps)); + +- if (0 == result) +- result = init_thermal_controller(hwmgr, powerplay_table); ++ PP_ASSERT_WITH_CODE((result == 0), ++ "set_platform_caps failed", return result); + +- if (0 == result) +- result = init_overdrive_limits(hwmgr, powerplay_table); ++ result = init_thermal_controller(hwmgr, powerplay_table); + +- if (0 == result) +- result = init_clock_voltage_dependency(hwmgr, +- powerplay_table); ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_thermal_controller failed", return result); ++ ++ result = init_overdrive_limits(hwmgr, powerplay_table); ++ ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_overdrive_limits failed", return result); ++ ++ result = init_clock_voltage_dependency(hwmgr, ++ powerplay_table); ++ ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_clock_voltage_dependency failed", return result); ++ ++ result = init_dpm2_parameters(hwmgr, powerplay_table); ++ ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_dpm2_parameters failed", return result); + +- if (0 == result) +- result = init_dpm2_parameters(hwmgr, powerplay_table); ++ result = init_phase_shedding_table(hwmgr, powerplay_table); + +- if (0 == result) +- result = init_phase_shedding_table(hwmgr, powerplay_table); ++ PP_ASSERT_WITH_CODE((result == 0), ++ "init_phase_shedding_table failed", return result); + + return result; + } +-- +2.7.4 + |