[PATCH] drm/amd/amdgpu: set MP1 state to UNLOAD before reload its FW for vega20

Chen, Guchun Guchun.Chen at amd.com
Mon Mar 29 03:47:01 UTC 2021


[AMD Public Use]

It's better to add below error info in commit message for audience's understanding.

[  121.642772] [drm] reserve 0x400000 from 0x87fec00000 for PSP TMR
[  123.801051] [drm] failed to load ucode id (24) 
[  123.801055] [drm] psp command (0x6) failed and response status is (0x0)
[  123.801214] [drm:psp_load_smu_fw [amdgpu]] *ERROR* PSP load smu failed!
[  123.801398] [drm:psp_resume [amdgpu]] *ERROR* PSP resume failed
[  123.801536] [drm:amdgpu_device_fw_loading [amdgpu]] *ERROR* resume of IP block <psp> failed -22
[  123.801632] amdgpu 0000:04:00.0: amdgpu: GPU reset(9) failed
[  123.801691] amdgpu 0000:07:00.0: amdgpu: GPU reset(9) failed
[  123.802899] amdgpu 0000:04:00.0: amdgpu: GPU reset end with ret = -22

With above added, the patch is:
Reviewed-and-tested-by: Guchun Chen <guchun.chen at amd.com>

Regards,
Guchun

-----Original Message-----
From: Chengming Gui <Jack.Gui at amd.com> 
Sent: Monday, March 29, 2021 11:39 AM
To: amd-gfx at lists.freedesktop.org
Cc: Chen, Guchun <Guchun.Chen at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Long, Gang <Gang.Long at amd.com>; Gui, Jack <Jack.Gui at amd.com>
Subject: [PATCH] drm/amd/amdgpu: set MP1 state to UNLOAD before reload its FW for vega20

When resume from gpu reset, need set MP1 state to UNLOAD before reload SMU FW

Signed-off-by: Chengming Gui <Jack.Gui at amd.com>
Change-Id: I54c2accab58d53a2780d10720f26a717bf1ff130
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 60dbb8c1e74d..aa16bc292a16 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -2148,7 +2148,8 @@ static int psp_load_smu_fw(struct psp_context *psp)
 
 	if ((amdgpu_in_reset(adev) &&
 	     ras && ras->supported &&
-	     adev->asic_type == CHIP_ARCTURUS) ||
+	     (adev->asic_type == CHIP_ARCTURUS ||
+	      adev->asic_type == CHIP_VEGA20)) ||
 	     (adev->in_runpm &&
 	      adev->asic_type >= CHIP_NAVI10 &&
 	      adev->asic_type <= CHIP_NAVI12)) {
--
2.17.1


More information about the amd-gfx mailing list