[RFC PATCH 13/22] drm/i915/fbc: Remove origin from frontbuffer flush callback

Jouni Högander jouni.hogander at intel.com
Fri Mar 24 11:24:56 UTC 2023


Only dirtyfb is now used to perform frontbuffer flush. We can remove
origin from fbc flush callback.

Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c         | 11 +++--------
 drivers/gpu/drm/i915/display/intel_fbc.h         |  2 +-
 drivers/gpu/drm/i915/display/intel_frontbuffer.c |  2 +-
 3 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index f7f628f751d7..02ced74a0c51 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1336,8 +1336,7 @@ static unsigned int intel_fbc_get_frontbuffer_bit(struct intel_fbc *fbc)
 }
 
 static void __intel_fbc_flush(struct intel_fbc *fbc,
-			      unsigned int frontbuffer_bits,
-			      enum fb_op_origin origin)
+			      unsigned int frontbuffer_bits)
 {
 	mutex_lock(&fbc->lock);
 
@@ -1347,9 +1346,6 @@ static void __intel_fbc_flush(struct intel_fbc *fbc,
 
 	fbc->busy_bits &= ~frontbuffer_bits;
 
-	if (origin == ORIGIN_FLIP || origin == ORIGIN_CURSOR_UPDATE)
-		goto out;
-
 	if (fbc->busy_bits || fbc->flip_pending)
 		goto out;
 
@@ -1363,14 +1359,13 @@ static void __intel_fbc_flush(struct intel_fbc *fbc,
 }
 
 void intel_fbc_flush(struct drm_i915_private *i915,
-		     unsigned int frontbuffer_bits,
-		     enum fb_op_origin origin)
+		     unsigned int frontbuffer_bits)
 {
 	struct intel_fbc *fbc;
 	enum intel_fbc_id fbc_id;
 
 	for_each_intel_fbc(i915, fbc, fbc_id)
-		__intel_fbc_flush(fbc, frontbuffer_bits, origin);
+		__intel_fbc_flush(fbc, frontbuffer_bits);
 }
 
 int intel_fbc_atomic_check(struct intel_atomic_state *state)
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.h b/drivers/gpu/drm/i915/display/intel_fbc.h
index 4adb98afe6ff..ba2e10fb82ba 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.h
+++ b/drivers/gpu/drm/i915/display/intel_fbc.h
@@ -39,7 +39,7 @@ void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
 			  unsigned int frontbuffer_bits,
 			  enum fb_op_origin origin);
 void intel_fbc_flush(struct drm_i915_private *dev_priv,
-		     unsigned int frontbuffer_bits, enum fb_op_origin origin);
+		     unsigned int frontbuffer_bits);
 void intel_fbc_add_plane(struct intel_fbc *fbc, struct intel_plane *plane);
 void intel_fbc_handle_fifo_underrun_irq(struct drm_i915_private *i915);
 void intel_fbc_reset_underrun(struct drm_i915_private *i915);
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
index 95073813bb96..2d29591768a1 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
@@ -85,7 +85,7 @@ void frontbuffer_flush(struct drm_i915_private *i915,
 	might_sleep();
 	intel_drrs_flush(i915, frontbuffer_bits);
 	intel_psr_flush(i915, frontbuffer_bits, origin);
-	intel_fbc_flush(i915, frontbuffer_bits, origin);
+	intel_fbc_flush(i915, frontbuffer_bits);
 }
 
 /**
-- 
2.34.1



More information about the Intel-gfx-trybot mailing list