aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch
new file mode 100644
index 00000000..17a5d727
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0473-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch
@@ -0,0 +1,63 @@
+From e339267fa67decb4949074f470343b1df7a703fb Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Sat, 29 Sep 2018 15:42:52 +0800
+Subject: [PATCH 0473/2940] drm/amd/pp: Allocate ucode bo in
+ request_smu_load_fw
+
+ucode bo is needed by request_smu_load_fw,
+the request_smu_load_fw maybe called by gfx/sdma
+before smu hw init.
+so move amdgpu_ucode_bo_init to request_smu_lowd_fw
+from smu hw init.
+
+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 | 3 ---
+ drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c | 2 ++
+ drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c | 2 ++
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+index e51d961a94b2..b2ebcb1457b5 100644
+--- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
++++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
+@@ -124,9 +124,6 @@ static int pp_hw_init(void *handle)
+ struct amdgpu_device *adev = handle;
+ struct pp_hwmgr *hwmgr = adev->powerplay.pp_handle;
+
+- if (adev->firmware.load_type == AMDGPU_FW_LOAD_SMU)
+- amdgpu_ucode_init_bo(adev);
+-
+ ret = hwmgr_hw_init(hwmgr);
+
+ if (ret)
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
+index 794a1657eaa9..99b4e4f6a2eb 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c
+@@ -346,6 +346,8 @@ int smu7_request_smu_load_fw(struct pp_hwmgr *hwmgr)
+ if (!hwmgr->reload_fw)
+ return 0;
+
++ amdgpu_ucode_init_bo(hwmgr->adev);
++
+ if (smu_data->soft_regs_start)
+ cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC,
+ smu_data->soft_regs_start + smum_get_offsetof(hwmgr,
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
+index 7b3b66d2f047..abbf2f285aab 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu8_smumgr.c
+@@ -664,6 +664,8 @@ static int smu8_request_smu_load_fw(struct pp_hwmgr *hwmgr)
+ if (!hwmgr->reload_fw)
+ return 0;
+
++ amdgpu_ucode_init_bo(hwmgr->adev);
++
+ smu8_smu_populate_firmware_entries(hwmgr);
+
+ smu8_smu_construct_toc(hwmgr);
+--
+2.17.1
+