summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorJohn Clements <john.clements@amd.com>2020-07-15 15:10:09 +0800
committerAlex Deucher <alexander.deucher@amd.com>2020-07-15 12:45:18 -0400
commita3302729368d2e4c6c6a1918179c8c53bec79219 (patch)
tree21fa93a6fc93fec62880274af3791f3b18dde963 /drivers/gpu
parent1f61a43fcec1dceac2ec537a63aba6846dd0e80a (diff)
drm/amdgpu: correct ta header v2 ucode init start address
resolve bug calculating fw start address within binary Reviewed-by: Guchun Chen <guchun.chen@amd.com> Signed-off-by: John Clements <john.clements@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 40706334f7a8..6e41d896e62e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -2286,7 +2286,9 @@ int parse_ta_bin_descriptor(struct psp_context *psp,
if (!psp || !desc || !ta_hdr)
return -EINVAL;
- ucode_start_addr = (uint8_t *)ta_hdr + le32_to_cpu(desc->offset_bytes);
+ ucode_start_addr = (uint8_t *)ta_hdr +
+ le32_to_cpu(desc->offset_bytes) +
+ le32_to_cpu(ta_hdr->header.ucode_array_offset_bytes);
switch (desc->fw_type) {
case TA_FW_TYPE_PSP_ASD: