diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch b/common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch new file mode 100644 index 00000000..758dc79a --- /dev/null +++ b/common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch @@ -0,0 +1,128 @@ +From 72ddab517936e77fb0428a8f11f6a79f58cec0af Mon Sep 17 00:00:00 2001 +From: Vitaly Prosyak <vitaly.prosyak@amd.com> +Date: Thu, 3 Dec 2015 10:27:57 -0500 +Subject: [PATCH 0126/1110] amd/powerplay: Fix get dal power level + +Simplify data struct for get dal power level + +Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> +--- + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 6 +++--- + drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 2 +- + drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 7 ++++--- + drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 3 ++- + drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h | 7 +------ + drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 2 +- + 6 files changed, 12 insertions(+), 15 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +index 0b9876d..db0370b 100644 +--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c ++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +@@ -620,7 +620,8 @@ int amd_powerplay_display_configuration_change(void *handle, const void *input) + return 0; + } + +-int amd_powerplay_get_display_power_level(void *handle, void *output) ++int amd_powerplay_get_display_power_level(void *handle, ++ struct amd_pp_dal_clock_info *output) + { + struct pp_hwmgr *hwmgr; + +@@ -629,6 +630,5 @@ int amd_powerplay_get_display_power_level(void *handle, void *output) + + hwmgr = ((struct pp_instance *)handle)->hwmgr; + +- return phm_get_dal_power_level(hwmgr, +- (struct pp_dal_clock_info *)output); ++ return phm_get_dal_power_level(hwmgr, output); + } +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c +index a745acf..bd30b56 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c +@@ -1597,7 +1597,7 @@ static void cz_hw_print_display_cfg( + } + + static int cz_get_dal_power_level(struct pp_hwmgr *hwmgr, +- struct pp_dal_clock_info*info) ++ struct amd_pp_dal_clock_info*info) + { + uint32_t i; + const struct phm_clock_voltage_dependency_table * table = +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c +index d24a419..881feb8 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c +@@ -262,12 +262,13 @@ int phm_store_dal_configuration_data(struct pp_hwmgr *hwmgr, + } + + int phm_get_dal_power_level(struct pp_hwmgr *hwmgr, +- struct pp_dal_clock_info*info) ++ struct amd_pp_dal_clock_info*info) + { +- if (hwmgr == NULL || hwmgr->hwmgr_func->get_dal_power_level == NULL) ++ if (info == NULL || hwmgr == NULL || ++ hwmgr->hwmgr_func->get_dal_power_level == NULL) + return -EINVAL; + +- return hwmgr->hwmgr_func->get_dal_power_level(hwmgr,info); ++ return hwmgr->hwmgr_func->get_dal_power_level(hwmgr, info); + } + + int phm_set_cpu_power_state(struct pp_hwmgr *hwmgr) +diff --git a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h +index 2ec8c22..3d0058c 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h +@@ -218,7 +218,8 @@ int amd_powerplay_fini(void *handle); + + int amd_powerplay_display_configuration_change(void *handle, const void *input); + +-int amd_powerplay_get_display_power_level(void *handle, void *output); ++int amd_powerplay_get_display_power_level(void *handle, ++ struct amd_pp_dal_clock_info *output); + + + #endif /* _AMD_POWERPLAY_H_ */ +diff --git a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h +index a3b93cd..a503306 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h +@@ -340,11 +340,6 @@ enum PP_DAL_POWERLEVEL { + PP_DAL_POWERLEVEL_7 = PP_DAL_POWERLEVEL_6+1, + }; + +-struct pp_dal_clock_info { +- uint32_t engine_max_clock;/*dal validation clock on AC*/ +- uint32_t memory_max_clock;/*dal validation clock on AC*/ +- enum PP_DAL_POWERLEVEL level; /*number of levels for the given clocks*/ +-}; + + extern int phm_enable_clock_power_gatings(struct pp_hwmgr *hwmgr); + extern int phm_powergate_uvd(struct pp_hwmgr *hwmgr, bool gate); +@@ -380,7 +375,7 @@ extern int phm_store_dal_configuration_data(struct pp_hwmgr *hwmgr, + const struct amd_pp_display_configuration *display_config); + + extern int phm_get_dal_power_level(struct pp_hwmgr *hwmgr, +- struct pp_dal_clock_info*info); ++ struct amd_pp_dal_clock_info*info); + + extern int phm_set_cpu_power_state(struct pp_hwmgr *hwmgr); + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h +index c9fcc0c..0c58969 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h +@@ -325,7 +325,7 @@ struct pp_hwmgr_func { + bool cc6_disable, bool pstate_disable, + bool pstate_switch_disable); + int (*get_dal_power_level)(struct pp_hwmgr *hwmgr, +- struct pp_dal_clock_info*info); ++ struct amd_pp_dal_clock_info*info); + }; + + struct pp_table_func { +-- +2.7.4 + |