i915 has its own atomic commit path and does not always funnel through
drm_atomic_helper_wait_for_fences(). Reuse the atomic helper deadline
logic by calling drm_atomic_helper_set_fence_deadline() at the start of
intel_atomic_commit().

This sets an advisory deadline on incoming plane fences based on the
next vblank for single-CRTC commits, matching the behavior of the atomic
helper wait path.

Cc: <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Cc: Jani Nikula <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Signed-off-by: Matthew Brost <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_display.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
b/drivers/gpu/drm/i915/display/intel_display.c
index 81b3a6692ca2..d12ff6cd17b2 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7751,6 +7751,8 @@ int intel_atomic_commit(struct drm_device *dev, struct 
drm_atomic_state *_state,
        drm_atomic_state_get(&state->base);
        INIT_WORK(&state->base.commit_work, intel_atomic_commit_work);
 
+       drm_atomic_helper_set_fence_deadline(dev, _state);
+
        if (nonblock && state->modeset) {
                queue_work(display->wq.modeset, &state->base.commit_work);
        } else if (nonblock) {
-- 
2.34.1

Reply via email to