[PATCH 29/31] drm/xe/display: Kill crtc commit flush

Rodrigo Vivi rodrigo.vivi at intel.com
Tue Sep 24 20:35:50 UTC 2024


This flush was needed in regular suspend cases in the past.
After the clean-up and reconciliation with the i915 it was
not needed anymore and removed. However this remained here
in the runtime suspend path.

However, the runtime pm flow ensures that there won't be any
flying or pending crtc commit when the runtime_suspend is
called. So this is not needed here. Clean it up.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 780c8d7f392d..23bdd8904c44 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -283,27 +283,6 @@ static bool suspend_to_idle(void)
 	return false;
 }
 
-static void xe_display_flush_cleanup_work(struct xe_device *xe)
-{
-	struct intel_crtc *crtc;
-
-	for_each_intel_crtc(&xe->drm, crtc) {
-		struct drm_crtc_commit *commit;
-
-		spin_lock(&crtc->base.commit_lock);
-		commit = list_first_entry_or_null(&crtc->base.commit_list,
-						  struct drm_crtc_commit, commit_entry);
-		if (commit)
-			drm_crtc_commit_get(commit);
-		spin_unlock(&crtc->base.commit_lock);
-
-		if (commit) {
-			wait_for_completion(&commit->cleanup_done);
-			drm_crtc_commit_put(commit);
-		}
-	}
-}
-
 static void xe_display_to_d3cold(struct xe_device *xe)
 {
 	struct intel_display *display = &xe->display;
@@ -311,8 +290,6 @@ static void xe_display_to_d3cold(struct xe_device *xe)
 	/* We do a lot of poking in a lot of registers, make sure they work properly. */
 	intel_power_domains_disable(xe);
 
-	xe_display_flush_cleanup_work(xe);
-
 	intel_hpd_cancel_work(xe);
 
 	intel_opregion_suspend(display, PCI_D3cold);
-- 
2.46.0



More information about the Intel-xe mailing list