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@xxxxxxxxx> --- 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