aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0126-amd-powerplay-Fix-get-dal-power-level.patch
diff options
context:
space:
mode:
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.patch128
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
+