Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2890decf authored by Zhang, Jerry's avatar Zhang, Jerry Committed by Alex Deucher
Browse files

drm/amdgpu: read reg in each iterator of psp_wait_for loop



v2: fix the SOS loading failure for PSP v3.1

Signed-off-by: default avatarJunwei Zhang <Jerry.Zhang@amd.com>
Cc: stable@vger.kernel.org
Acked-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Acked-by: Huang Rui <ray.huang@amd.com> (v1)
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent be448a4d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -98,9 +98,8 @@ int psp_wait_for(struct psp_context *psp, uint32_t reg_index,
	int i;
	struct amdgpu_device *adev = psp->adev;

	val = RREG32(reg_index);

	for (i = 0; i < adev->usec_timeout; i++) {
		val = RREG32(reg_index);
		if (check_changed) {
			if (val != reg_val)
				return 0;
+0 −2
Original line number Diff line number Diff line
@@ -237,11 +237,9 @@ int psp_v3_1_bootloader_load_sos(struct psp_context *psp)

	/* there might be handshake issue with hardware which needs delay */
	mdelay(20);
#if 0
	ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_81),
			   RREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_81),
			   0, true);
#endif

	return ret;
}