aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch
new file mode 100644
index 00000000..bc54d52a
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2989-drm-amd-pp-delete-repeated-call-of-force_dpm_level.patch
@@ -0,0 +1,72 @@
+From fa4a15a79eabfdf4387bf337530af06cae13cd5a Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Mon, 18 Dec 2017 19:48:00 +0800
+Subject: [PATCH 2989/4131] drm/amd/pp: delete repeated call of force_dpm_level
+
+Change-Id: Ie0cac31af7d0b9badf7b5335af8737b576e43e78
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 10 +---------
+ drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 1 +
+ drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c | 5 ++++-
+ 3 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+index b88f6f8..85c2179 100644
+--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+@@ -389,20 +389,12 @@ static int pp_dpm_force_performance_level(void *handle,
+ if (level == hwmgr->dpm_level)
+ return 0;
+
+- if (hwmgr->hwmgr_func->force_dpm_level == NULL) {
+- pr_info("%s was not implemented.\n", __func__);
+- return 0;
+- }
+-
+ mutex_lock(&pp_handle->pp_lock);
+ pp_dpm_en_umd_pstate(hwmgr, &level);
+ hwmgr->request_dpm_level = level;
+ hwmgr_handle_task(pp_handle, AMD_PP_TASK_READJUST_POWER_STATE, NULL, NULL);
+- ret = hwmgr->hwmgr_func->force_dpm_level(hwmgr, level);
+- if (!ret)
+- hwmgr->dpm_level = hwmgr->request_dpm_level;
+-
+ mutex_unlock(&pp_handle->pp_lock);
++
+ return 0;
+ }
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
+index ce59e0e..0229f77 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
+@@ -149,6 +149,7 @@ int hwmgr_early_init(struct pp_instance *handle)
+ hwmgr->power_source = PP_PowerSource_AC;
+ hwmgr->pp_table_version = PP_TABLE_V1;
+ hwmgr->dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;
++ hwmgr->request_dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;
+ hwmgr_init_default_caps(hwmgr);
+ hwmgr_set_user_specify_caps(hwmgr);
+ hwmgr->fan_ctrl_is_in_default_mode = true;
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
+index f9ff409..95ab772 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/pp_psm.c
+@@ -244,8 +244,11 @@ int psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip,
+ }
+
+ phm_notify_smc_display_config_after_ps_adjustment(hwmgr);
+- phm_force_dpm_levels(hwmgr, hwmgr->dpm_level);
++ if (!phm_force_dpm_levels(hwmgr, hwmgr->request_dpm_level))
++ hwmgr->dpm_level = hwmgr->request_dpm_level;
++
+ phm_reset_power_profile_state(hwmgr);
++
+ return 0;
+ }
+
+--
+2.7.4
+