drm/amdgpu: disable MEC2 JT context init for Arcturus
authorJohn Clements <John.Clements@amd.com>
Wed, 31 Jul 2019 08:11:08 +0000 (16:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 2 Aug 2019 15:30:39 +0000 (10:30 -0500)
We don't need to handle it like other asics.

Signed-off-by: John Clements <john.clements@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index 21c120c..0951b91 100644 (file)
@@ -1286,11 +1286,17 @@ static int gfx_v9_0_init_cp_compute_microcode(struct amdgpu_device *adev,
                        cp_hdr = (const struct gfx_firmware_header_v1_0 *)info->fw->data;
                        adev->firmware.fw_size +=
                                ALIGN(le32_to_cpu(header->ucode_size_bytes) - le32_to_cpu(cp_hdr->jt_size) * 4, PAGE_SIZE);
-                       info = &adev->firmware.ucode[AMDGPU_UCODE_ID_CP_MEC2_JT];
-                       info->ucode_id = AMDGPU_UCODE_ID_CP_MEC2_JT;
-                       info->fw = adev->gfx.mec2_fw;
-                       adev->firmware.fw_size +=
-                               ALIGN(le32_to_cpu(cp_hdr->jt_size) * 4, PAGE_SIZE);
+
+                       /* TODO: Determine if MEC2 JT FW loading can be removed
+                                for all GFX V9 asic and above */
+                       if (adev->asic_type != CHIP_ARCTURUS) {
+                               info = &adev->firmware.ucode[AMDGPU_UCODE_ID_CP_MEC2_JT];
+                               info->ucode_id = AMDGPU_UCODE_ID_CP_MEC2_JT;
+                               info->fw = adev->gfx.mec2_fw;
+                               adev->firmware.fw_size +=
+                                       ALIGN(le32_to_cpu(cp_hdr->jt_size) * 4,
+                                       PAGE_SIZE);
+                       }
                }
        }