diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0474-drm-amd-pp-Implement-load_firmware-interface.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0474-drm-amd-pp-Implement-load_firmware-interface.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0474-drm-amd-pp-Implement-load_firmware-interface.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0474-drm-amd-pp-Implement-load_firmware-interface.patch new file mode 100644 index 00000000..10acda8e --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0474-drm-amd-pp-Implement-load_firmware-interface.patch @@ -0,0 +1,45 @@ +From 01a5fbe3d6b0f7bf430a43d5b9ab26cf538acb1a Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Sat, 29 Sep 2018 20:28:14 +0800 +Subject: [PATCH 0474/2940] drm/amd/pp: Implement load_firmware interface + +with this interface, gfx/sdma can be initialized +before smu. + +Reviewed-by: Evan Quan <evan.quan@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +index b2ebcb1457b5..6bc8e9c08b0c 100644 +--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c ++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +@@ -270,8 +270,23 @@ const struct amdgpu_ip_block_version pp_smu_ip_block = + .funcs = &pp_ip_funcs, + }; + ++/* This interface only be supported On Vi, ++ * because only smu7/8 can help to load gfx/sdma fw, ++ * smu need to be enabled before load other ip's fw. ++ * so call start smu to load smu7 fw and other ip's fw ++ */ + static int pp_dpm_load_fw(void *handle) + { ++ struct pp_hwmgr *hwmgr = handle; ++ ++ if (!hwmgr || !hwmgr->smumgr_funcs || !hwmgr->smumgr_funcs->start_smu) ++ return -EINVAL; ++ ++ if (hwmgr->smumgr_funcs->start_smu(hwmgr)) { ++ pr_err("fw load failed\n"); ++ return -EINVAL; ++ } ++ + return 0; + } + +-- +2.17.1 + |