]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/amdgpu: skip SMU FW reloading in runpm BACO case
authorGuchun Chen <guchun.chen@amd.com>
Thu, 14 Jul 2022 07:55:37 +0000 (15:55 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 18 Jul 2022 20:42:39 +0000 (16:42 -0400)
SMU is always alive, so it's fine to skip SMU FW reloading
when runpm resumed from BACO, this can avoid some race issues
when resuming SMU.

Suggested-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index e9411c28d88ba898327b0e1739fc44495bf0fc63..6540582ecbf82512ac89561b255f0f82ce1247ed 100644 (file)
@@ -2348,6 +2348,13 @@ static int psp_load_smu_fw(struct psp_context *psp)
                        &adev->firmware.ucode[AMDGPU_UCODE_ID_SMC];
        struct amdgpu_ras *ras = psp->ras_context.ras;
 
+       /*
+        * Skip SMU FW reloading in case of using BACO for runpm only,
+        * as SMU is always alive.
+        */
+       if (adev->in_runpm && (adev->pm.rpm_mode == AMDGPU_RUNPM_BACO))
+               return 0;
+
        if (!ucode->fw || amdgpu_sriov_vf(psp->adev))
                return 0;