diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0075-drm-amd-powerplay-init-vega20-uvd-vce-powergate-stat.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0075-drm-amd-powerplay-init-vega20-uvd-vce-powergate-stat.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0075-drm-amd-powerplay-init-vega20-uvd-vce-powergate-stat.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0075-drm-amd-powerplay-init-vega20-uvd-vce-powergate-stat.patch new file mode 100644 index 00000000..950e1797 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0075-drm-amd-powerplay-init-vega20-uvd-vce-powergate-stat.patch @@ -0,0 +1,54 @@ +From 751b35fedcc58ebe195b27796588ce6a480c7698 Mon Sep 17 00:00:00 2001 +From: Evan Quan <evan.quan@amd.com> +Date: Fri, 4 May 2018 15:20:15 +0800 +Subject: [PATCH 0075/2940] drm/amd/powerplay: init vega20 uvd/vce powergate + status on dpm setup + +This is essentially necessary when uvd/vce dpm is not enabled yet. + +Signed-off-by: Evan Quan <evan.quan@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + .../gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c +index 06471d1a5765..a82a3df0e8d9 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c +@@ -932,6 +932,21 @@ static int vega20_init_max_sustainable_clocks(struct pp_hwmgr *hwmgr) + return 0; + } + ++static void vega20_init_powergate_state(struct pp_hwmgr *hwmgr) ++{ ++ struct vega20_hwmgr *data = ++ (struct vega20_hwmgr *)(hwmgr->backend); ++ ++ data->uvd_power_gated = true; ++ data->vce_power_gated = true; ++ ++ if (data->smu_features[GNLD_DPM_UVD].enabled) ++ data->uvd_power_gated = false; ++ ++ if (data->smu_features[GNLD_DPM_VCE].enabled) ++ data->vce_power_gated = false; ++} ++ + static int vega20_enable_dpm_tasks(struct pp_hwmgr *hwmgr) + { + int result = 0; +@@ -954,6 +969,9 @@ static int vega20_enable_dpm_tasks(struct pp_hwmgr *hwmgr) + "[EnableDPMTasks] Failed to enable all smu features!", + return result); + ++ /* Initialize UVD/VCE powergating state */ ++ vega20_init_powergate_state(hwmgr); ++ + result = vega20_setup_default_dpm_tables(hwmgr); + PP_ASSERT_WITH_CODE(!result, + "[EnableDPMTasks] Failed to setup default DPM tables!", +-- +2.17.1 + |