drm/amdgpu/gfx9: Fix incorrect firmware size calculation
authorLei Guo <raykwok1150@163.com>
Tue, 16 Jun 2020 14:03:27 +0000 (10:03 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2020 05:59:22 +0000 (01:59 -0400)
[WHY]
The memcpy() function copies n bytes from memory area src to memory area
dest. So specify the firmware size in bytes.

[How]
Correct the calculation.

Acked-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Lei Guo <raykwok1150@163.com>
Reviewed-by: Junwei Zhang <zjunweihit@163.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index 6b94587..c3e59b7 100644 (file)
@@ -1960,7 +1960,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device *adev)
        fw_data = (const __le32 *)
                (adev->gfx.mec_fw->data +
                 le32_to_cpu(mec_hdr->header.ucode_array_offset_bytes));
-       fw_size = le32_to_cpu(mec_hdr->header.ucode_size_bytes) / 4;
+       fw_size = le32_to_cpu(mec_hdr->header.ucode_size_bytes);
 
        r = amdgpu_bo_create_reserved(adev, mec_hdr->header.ucode_size_bytes,
                                      PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT,