aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch130
1 files changed, 130 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch
new file mode 100644
index 00000000..df2ce3c6
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3602-drm-amd-pp-Move-common-dpm-check-functions-to-hardwa.patch
@@ -0,0 +1,130 @@
+From 1c37e569c57c7f3a3da6132e24f6ff2b48ad21aa Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Thu, 22 Feb 2018 20:46:49 +0800
+Subject: [PATCH 3602/4131] drm/amd/pp: Move common dpm check functions to
+ hardwaremanager.c
+
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 9 ---------
+ drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 10 ++++++++++
+ drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 10 ----------
+ drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 10 ----------
+ 4 files changed, 10 insertions(+), 29 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
+index 4b48765..2aa84c7 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
+@@ -1011,10 +1011,6 @@ static void cz_reset_acp_boot_level(struct pp_hwmgr *hwmgr)
+
+ static int cz_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ {
+- if (!smum_is_dpm_running(hwmgr)) {
+- pr_info("dpm has been disabled\n");
+- return 0;
+- }
+ cz_disable_nb_dpm(hwmgr);
+
+ cz_clear_voting_clients(hwmgr);
+@@ -1026,11 +1022,6 @@ static int cz_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
+
+ static int cz_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ {
+- if (smum_is_dpm_running(hwmgr)) {
+- pr_info("dpm has been enabled\n");
+- return 0;
+- }
+-
+ cz_program_voting_clients(hwmgr);
+ if (cz_start_dpm(hwmgr))
+ return -EINVAL;
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
+index fdd2c05..33480de 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
+@@ -79,6 +79,11 @@ int phm_enable_dynamic_state_management(struct pp_hwmgr *hwmgr)
+ bool enabled;
+ PHM_FUNC_CHECK(hwmgr);
+
++ if (smum_is_dpm_running(hwmgr)) {
++ pr_info("dpm has been enabled\n");
++ return 0;
++ }
++
+ if (NULL != hwmgr->hwmgr_func->dynamic_state_management_enable)
+ ret = hwmgr->hwmgr_func->dynamic_state_management_enable(hwmgr);
+
+@@ -96,6 +101,11 @@ int phm_disable_dynamic_state_management(struct pp_hwmgr *hwmgr)
+
+ PHM_FUNC_CHECK(hwmgr);
+
++ if (!smum_is_dpm_running(hwmgr)) {
++ pr_info("dpm has been disabled\n");
++ return 0;
++ }
++
+ if (hwmgr->hwmgr_func->dynamic_state_management_disable)
+ ret = hwmgr->hwmgr_func->dynamic_state_management_disable(hwmgr);
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+index 9f69be2..69a6731 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+@@ -1239,11 +1239,6 @@ static int smu7_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ int tmp_result = 0;
+ int result = 0;
+
+- tmp_result = (!smum_is_dpm_running(hwmgr)) ? 0 : -1;
+- PP_ASSERT_WITH_CODE(tmp_result == 0,
+- "DPM is already running",
+- );
+-
+ if (smu7_voltage_control(hwmgr)) {
+ tmp_result = smu7_enable_voltage_control(hwmgr);
+ PP_ASSERT_WITH_CODE(tmp_result == 0,
+@@ -1406,11 +1401,6 @@ int smu7_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ {
+ int tmp_result, result = 0;
+
+- tmp_result = (smum_is_dpm_running(hwmgr)) ? 0 : -1;
+- PP_ASSERT_WITH_CODE(tmp_result == 0,
+- "DPM is not running right now, no need to disable DPM!",
+- return 0);
+-
+ if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps,
+ PHM_PlatformCaps_ThermalController))
+ PHM_WRITE_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC,
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+index d601237..9b749af 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
+@@ -2859,11 +2859,6 @@ static int vega10_enable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ (struct vega10_hwmgr *)(hwmgr->backend);
+ int tmp_result, result = 0;
+
+- tmp_result = (!smum_is_dpm_running(hwmgr)) ? 0 : -1;
+- PP_ASSERT_WITH_CODE(!tmp_result,
+- "DPM is already running right , skipping re-enablement!",
+- return 0);
+-
+ if ((hwmgr->smu_version == 0x001c2c00) ||
+ (hwmgr->smu_version == 0x001c2d00))
+ smum_send_msg_to_smc_with_parameter(hwmgr,
+@@ -4686,11 +4681,6 @@ static int vega10_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
+ {
+ int tmp_result, result = 0;
+
+- tmp_result = (smum_is_dpm_running(hwmgr)) ? 0 : -1;
+- PP_ASSERT_WITH_CODE(tmp_result == 0,
+- "DPM is not running right now, no need to disable DPM!",
+- return 0);
+-
+ if (PP_CAP(PHM_PlatformCaps_ThermalController))
+ vega10_disable_thermal_protection(hwmgr);
+
+--
+2.7.4
+