OSDN Git Service

drm/amdgpu: vcn_v4_0_3 load vcn fw once for all AIDs
authorJames Zhu <James.Zhu@amd.com>
Tue, 20 Dec 2022 01:11:11 +0000 (20:11 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:51:48 +0000 (09:51 -0400)
Signed-off-by: James Zhu <James.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c

index daa69ae..57dabfe 100644 (file)
@@ -1046,6 +1046,9 @@ void amdgpu_vcn_setup_ucode(struct amdgpu_device *adev)
                        adev->firmware.ucode[idx].fw = adev->vcn.fw;
                        adev->firmware.fw_size +=
                                ALIGN(le32_to_cpu(hdr->ucode_size_bytes), PAGE_SIZE);
+
+                       if (adev->ip_versions[UVD_HWIP][0] == IP_VERSION(4, 0, 3))
+                               break;
                }
                dev_info(adev->dev, "Will use PSP to load VCN firmware\n");
        }
index 18320ee..746df23 100644 (file)
@@ -730,7 +730,7 @@ static int vcn_v4_0_3_start_dpg_mode(struct amdgpu_device *adev, int inst_idx, b
                UVD_MASTINT_EN__VCPU_EN_MASK, 0, indirect);
 
        if (indirect)
-               psp_update_vcn_sram(adev, inst_idx, adev->vcn.inst[inst_idx].dpg_sram_gpu_addr,
+               psp_update_vcn_sram(adev, 0, adev->vcn.inst[inst_idx].dpg_sram_gpu_addr,
                        (uint32_t)((uintptr_t)adev->vcn.inst[inst_idx].dpg_sram_curr_addr -
                                (uintptr_t)adev->vcn.inst[inst_idx].dpg_sram_cpu_addr));