From df820261229daa5cdebb4e793810f3b656a1f354 Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Mon, 27 Jun 2022 13:20:12 +0300 Subject: [PATCH] Revert "drm/i915/display: Drop unnecessary frontbuffer flushes" This reverts commit 1c228ed6564bd7dab169d05bda08bd047023edca. Signed-off-by: Timo Aaltonen --- drivers/gpu/drm/i915/display/intel_display.c | 3 +++ drivers/gpu/drm/i915/display/intel_fbdev.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 6d426c3313d42..4c4a9030cee99 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -2020,6 +2020,8 @@ intel_find_initial_plane_obj(struct intel_crtc *intel_crtc, intel_plane_copy_uapi_to_hw_state(intel_state, intel_state, intel_crtc); + intel_frontbuffer_flush(to_intel_frontbuffer(fb), ORIGIN_DIRTYFB); + atomic_or(to_intel_plane(primary)->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits); } @@ -11159,6 +11161,7 @@ intel_prepare_plane_fb(struct drm_plane *_plane, return ret; i915_gem_object_wait_priority(obj, 0, &attr); + i915_gem_object_flush_frontbuffer(obj, ORIGIN_DIRTYFB); if (!new_plane_state->uapi.fence) { /* implicit fencing */ struct dma_fence *fence; diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c index 366ce244f3eb8..4af40229f5ec3 100644 --- a/drivers/gpu/drm/i915/display/intel_fbdev.c +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c @@ -229,6 +229,8 @@ static int intelfb_create(struct drm_fb_helper *helper, goto out_unlock; } + intel_frontbuffer_flush(to_frontbuffer(ifbdev), ORIGIN_DIRTYFB); + info = drm_fb_helper_alloc_fbi(helper); if (IS_ERR(info)) { drm_err(&dev_priv->drm, "Failed to allocate fb_info\n");