drm/amdgpu/psp: Update waiting in psp mode1 reset.
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Fri, 30 Nov 2018 17:24:33 +0000 (12:24 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 3 Dec 2018 16:15:00 +0000 (11:15 -0500)
No point in use mdelay unless running from interrupt context (which we are not)
This is busy wait which will block the CPU for the entirety of the wait time.
Also, reduce wait time to 500ms as it is done in refernce code because
1s might cause PSP FW TO issues during XGMI hive reset.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/psp_v11_0.c
drivers/gpu/drm/amd/amdgpu/psp_v3_1.c

index e5dd052..2b19616 100644 (file)
@@ -547,7 +547,7 @@ static int psp_v11_0_mode1_reset(struct psp_context *psp)
        /*send the mode 1 reset command*/
        WREG32(offset, GFX_CTRL_CMD_ID_MODE1_RST);
 
-       mdelay(1000);
+       msleep(500);
 
        offset = SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_33);
 
index 7efb823..7357fd5 100644 (file)
@@ -592,7 +592,7 @@ static int psp_v3_1_mode1_reset(struct psp_context *psp)
        /*send the mode 1 reset command*/
        WREG32(offset, GFX_CTRL_CMD_ID_MODE1_RST);
 
-       mdelay(1000);
+       msleep(500);
 
        offset = SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_33);