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