[PATCH 1/2] drm/amdgpu: skip SMU FW reloading in runpm BACO case (v2)
Guchun Chen
guchun.chen at amd.com
Tue Jul 12 06:38:00 UTC 2022
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 FW.
v2: Exclude boco case if an ASIC supports both boco and baco
Suggested-by: Evan Quan <evan.quan at amd.com>
Signed-off-by: Guchun Chen <guchun.chen at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index e9411c28d88b..de59dc051340 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -2348,6 +2348,14 @@ 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 &&
+ !amdgpu_device_supports_boco(adev_to_drm(adev)) &&
+ amdgpu_device_supports_baco(adev_to_drm(adev)))
+ return 0;
+
if (!ucode->fw || amdgpu_sriov_vf(psp->adev))
return 0;
--
2.17.1
More information about the amd-gfx
mailing list