drm/amdgpu: correct rlc autoload for xcc harvest

If the number instances of firmware is RLC_NUM_INS_CODE0(Only 1 inst),
need to copy it directly for rlcautolad.
For the firmware which instances number bigger than 1, only copy for
enabled XCC to save copy time.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Likun Gao 2025-07-10 14:25:03 +08:00 committed by Alex Deucher
parent 4d70e12796
commit 005b7f7f93

View File

@ -933,7 +933,8 @@ static void gfx_v12_1_rlc_backdoor_autoload_copy_ucode(struct amdgpu_device *ade
fw_size = toc_fw_inst_size;
for (i = 0; i < num_inst; i++) {
if ((1 << (i / 2)) & adev->gfx.xcc_mask) {
if ((num_inst == RLC_NUM_INS_CODE0) ||
((1 << (i / 2)) & adev->gfx.xcc_mask)) {
memcpy(ptr + toc_offset + i * toc_fw_inst_size, fw_data, fw_size);
if (fw_size < toc_fw_inst_size)