drm/amdgpu: do not init mec2 jt for renoir
authorHawking Zhang <Hawking.Zhang@amd.com>
Tue, 17 Sep 2019 22:46:54 +0000 (06:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Oct 2019 14:10:59 +0000 (09:10 -0500)
For ASICs like renoir/arct, driver doesn't need to load mec2 jt.
when mec1 jt is loaded, mec2 jt will be loaded automatically
since the write is actaully broadcasted to both.

We need to more time to test other gfx9 asic. but for now we should
be able to draw conclusion that mec2 jt is not needed for renoir and
arct.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index bc46a429b4dcdae3c1a52bcc231ac37c56236745..17af26ee5a7f0586c146ca2e459f9d03971d774a 100644 (file)
@@ -1396,10 +1396,6 @@ out:
                     ucode->ucode_id == AMDGPU_UCODE_ID_CP_MEC2_JT))
                        /* skip mec JT when autoload is enabled */
                        continue;
-               /* Renoir only needs to load mec jump table one time */
-               if (adev->asic_type == CHIP_RENOIR &&
-                   ucode->ucode_id == AMDGPU_UCODE_ID_CP_MEC2_JT)
-                       continue;
 
                psp_print_fw_hdr(psp, ucode);
 
index f4e19b2c4f1c799a0d46d135c2d41efee56377cd..2cb1efa281616156ae4618c0afefa0a636988e49 100644 (file)
@@ -1324,7 +1324,8 @@ static int gfx_v9_0_init_cp_compute_microcode(struct amdgpu_device *adev,
 
                        /* TODO: Determine if MEC2 JT FW loading can be removed
                                 for all GFX V9 asic and above */
-                       if (adev->asic_type != CHIP_ARCTURUS) {
+                       if (adev->asic_type != CHIP_ARCTURUS &&
+                           adev->asic_type != CHIP_RENOIR) {
                                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;