[PATCH] drm/i915/dp: Change aux_ctl reg read to polling read

Arun R Murthy arun.r.murthy at intel.com
Wed Nov 30 10:59:52 UTC 2022


Signed-off-by: Arun R Murthy <arun.r.murthy at intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_aux.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c
index 664bebdecea7..48bf2f709bfc 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c
@@ -42,9 +42,10 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
 	u32 status;
 	bool done;
 
-#define C (((status = intel_uncore_read_notrace(&i915->uncore, ch_ctl)) & DP_AUX_CH_CTL_SEND_BUSY) == 0)
-	done = wait_event_timeout(i915->display.gmbus.wait_queue, C,
-				  msecs_to_jiffies_timeout(timeout_ms));
+	done = __intel_wait_for_register(&i915->uncore, ch_ctl,
+					 DP_AUX_CH_CTL_SEND_BUSY,
+					 DP_AUX_CH_CTL_SEND_BUSY, 200,
+					 timeout_ms, &status);
 
 	/* just trace the final value */
 	trace_i915_reg_rw(false, ch_ctl, status, sizeof(status), true);
@@ -53,7 +54,6 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp)
 		drm_err(&i915->drm,
 			"%s: did not complete or timeout within %ums (status 0x%08x)\n",
 			intel_dp->aux.name, timeout_ms, status);
-#undef C
 
 	return status;
 }
-- 
2.25.1



More information about the Intel-gfx-trybot mailing list