Commit e7496c15 authored by TungYu Lu's avatar TungYu Lu Committed by Alex Deucher
Browse files

drm/amd/display: Wait until OTG enable state is cleared



[Why]
Customer reported an issue that OS starts and stops device multiple times
during driver installation. Frequently disabling and enabling OTG may
prevent OTG from being safely disabled and cause incorrect configuration
upon the next enablement.

[How]
Add a wait until OTG_CURRENT_MASTER_EN_STATE is cleared as a short term
solution.

Reviewed-by: default avatarDillon Varone <dillon.varone@amd.com>
Signed-off-by: default avatarTungYu Lu <tungyu.lu@amd.com>
Signed-off-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c31f486b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -226,6 +226,11 @@ bool optc401_disable_crtc(struct timing_generator *optc)
	REG_UPDATE(CONTROL,
			VTG0_ENABLE, 0);

	// wait until CRTC_CURRENT_MASTER_EN_STATE == 0
	REG_WAIT(OTG_CONTROL,
			 OTG_CURRENT_MASTER_EN_STATE,
			 0, 10, 15000);

	/* CRTC disabled, so disable  clock. */
	REG_WAIT(OTG_CLOCK_CONTROL,
			OTG_BUSY, 0,