drm/amdgpu/mes: add uni_mes fw loading support
authorJack Xiao <Jack.Xiao@amd.com>
Fri, 1 Mar 2024 08:51:40 +0000 (16:51 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2024 20:18:13 +0000 (16:18 -0400)
Add the unified mes firmware loading support.

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

index f87d53e183c3d082f255ee1e781e5ec956063dae..c4355d72df02e513067d83f9c31a9b8f9e64c47a 100644 (file)
@@ -1046,6 +1046,7 @@ struct amdgpu_device {
        /* mes */
        bool                            enable_mes;
        bool                            enable_mes_kiq;
+       bool                            enable_uni_mes;
        struct amdgpu_mes               mes;
        struct amdgpu_mqd               mqds[AMDGPU_HW_IP_NUM];
 
index ea06f8be133e0c761d69994efd06346197f8f6f5..62edf6328566739ef8df0cfb59873a939b46d255 100644 (file)
@@ -1511,7 +1511,10 @@ int amdgpu_mes_init_microcode(struct amdgpu_device *adev, int pipe)
 
        amdgpu_ucode_ip_version_decode(adev, GC_HWIP, ucode_prefix,
                                       sizeof(ucode_prefix));
-       if (amdgpu_ip_version(adev, GC_HWIP, 0) >= IP_VERSION(11, 0, 0) &&
+       if (adev->enable_uni_mes && pipe == AMDGPU_MES_SCHED_PIPE) {
+               snprintf(fw_name, sizeof(fw_name),
+                        "amdgpu/%s_uni_mes.bin", ucode_prefix);
+       } else if (amdgpu_ip_version(adev, GC_HWIP, 0) >= IP_VERSION(11, 0, 0) &&
            amdgpu_ip_version(adev, GC_HWIP, 0) < IP_VERSION(12, 0, 0)) {
                snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mes%s.bin",
                         ucode_prefix,