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>
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: