diff options
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.patch | 72 |
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 + |