diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2203-drm-amdgpu-psp-switch-to-use-sos_offset_bytes-member.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2203-drm-amdgpu-psp-switch-to-use-sos_offset_bytes-member.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2203-drm-amdgpu-psp-switch-to-use-sos_offset_bytes-member.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2203-drm-amdgpu-psp-switch-to-use-sos_offset_bytes-member.patch new file mode 100644 index 00000000..331783ae --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2203-drm-amdgpu-psp-switch-to-use-sos_offset_bytes-member.patch @@ -0,0 +1,36 @@ +From ef42ec8e80d9bf32638cbce9a8c668bdc76ca1cb Mon Sep 17 00:00:00 2001 +From: Hawking Zhang <Hawking.Zhang@amd.com> +Date: Fri, 9 Nov 2018 18:09:36 +0800 +Subject: [PATCH 2203/2940] drm/amdgpu/psp: switch to use sos_offset_bytes + member as sys_bin_size + +Navi10 will have toc built-in sos binary so that using header.ucode_size_bytes +minus sos_size_bytes actually is not sys_bin_size. + +Using sos_offset_bytes works for both vega20 (psp_firmware_header_v1_0) and +navi10 (psp_firmware_header_v1_1) + +Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> +Acked-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +index b7b4acd11470..a20c47cb3cca 100644 +--- a/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/psp_v11_0.c +@@ -100,8 +100,7 @@ static int psp_v11_0_init_microcode(struct psp_context *psp) + adev->psp.sos_fw_version = le32_to_cpu(sos_hdr->header.ucode_version); + adev->psp.sos_feature_version = le32_to_cpu(sos_hdr->ucode_feature_version); + adev->psp.sos_bin_size = le32_to_cpu(sos_hdr->sos_size_bytes); +- adev->psp.sys_bin_size = le32_to_cpu(sos_hdr->header.ucode_size_bytes) - +- le32_to_cpu(sos_hdr->sos_size_bytes); ++ adev->psp.sys_bin_size = le32_to_cpu(sos_hdr->sos_offset_bytes); + adev->psp.sys_start_addr = (uint8_t *)sos_hdr + + le32_to_cpu(sos_hdr->header.ucode_array_offset_bytes); + adev->psp.sos_start_addr = (uint8_t *)adev->psp.sys_start_addr + +-- +2.17.1 + |