drm/amd/pm: Use BACO reset arg 0 on XGMI configuration
authorshaoyunl <shaoyun.liu@amd.com>
Mon, 15 Mar 2021 15:39:28 +0000 (11:39 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 03:36:07 +0000 (23:36 -0400)
With arg 1 BACO reset, it will try to reload the SMU FW after reset.
This might failed if driver already in a pending reset status during probe period.
Arg 0 reset will bring  asic back to a clean state and driver will re-init
everythign including SMU FW

Signed-off-by: shaoyunl <shaoyun.liu@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c

index 635bd5d..0d137af 100644 (file)
@@ -1530,7 +1530,7 @@ int smu_v11_0_baco_set_state(struct smu_context *smu, enum smu_baco_state state)
                                                                      NULL);
                        break;
                default:
-                       if (!ras || !ras->supported) {
+                       if (!ras || !ras->supported || adev->gmc.xgmi.pending_reset) {
                                if (adev->asic_type == CHIP_ARCTURUS) {
                                        data = RREG32_SOC15(THM, 0, mmTHM_BACO_CNTL_ARCT);
                                        data |= 0x80000000;