diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5515-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5515-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5515-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5515-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch new file mode 100644 index 00000000..50c912a5 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5515-drm-amd-pp-Allocate-ucode-bo-in-request_smu_load_fw.patch @@ -0,0 +1,63 @@ +From 86b262c92458eccad955790d3002ad9b88f847d2 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 5515/5725] 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 3bfe0cf..b5893d29 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 80a567a..5db9215 100644 +--- a/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c ++++ b/drivers/gpu/drm/amd/powerplay/smumgr/smu7_smumgr.c +@@ -348,6 +348,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 7b3b66d..abbf2f2 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.7.4 + |