diff mbox

[4/5] drm/i915: Add a FIXME about FBC vs. fence. 90/270 degree rotation

Message ID 20171116191451.28823-4-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjälä Nov. 16, 2017, 7:14 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Currently we're pinning the fence for the rotated GTT view. That doesn't
acually make any sense since the fence is used only for the FBC GTT
tracking. For that we would want the fence for the normal GTT view
instead of the rotated view. Too lazy to fix this now so just add a
FIXME.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Chris Wilson Nov. 16, 2017, 9:01 p.m. UTC | #1
Quoting Ville Syrjala (2017-11-16 19:14:50)
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Currently we're pinning the fence for the rotated GTT view. That doesn't
> acually make any sense since the fence is used only for the FBC GTT
> tracking. For that we would want the fence for the normal GTT view
> instead of the rotated view. Too lazy to fix this now so just add a
> FIXME.

The rotated view can't have a fence as its vma is not fenceable.
-Chris
Ville Syrjälä Nov. 17, 2017, 1:01 p.m. UTC | #2
On Thu, Nov 16, 2017 at 09:01:03PM +0000, Chris Wilson wrote:
> Quoting Ville Syrjala (2017-11-16 19:14:50)
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Currently we're pinning the fence for the rotated GTT view. That doesn't
> > acually make any sense since the fence is used only for the FBC GTT
> > tracking. For that we would want the fence for the normal GTT view
> > instead of the rotated view. Too lazy to fix this now so just add a
> > FIXME.
> 
> The rotated view can't have a fence as its vma is not fenceable.

I see. Doesn't change the fact that it's broken though. I'll see about
rewording this, or maybe I'll even try to fix it.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 3b7021b39fdf..25050bfce5d1 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2202,6 +2202,12 @@  intel_pin_and_fence_fb_obj(const struct drm_framebuffer *fb,
 
 	atomic_inc(&dev_priv->gpu_error.pending_fb_pin);
 
+	/*
+	 * FIXME presumably with FBC and 90/270 degree rotation we
+	 * should pin the fence on the normal GTT view, and tell FBC
+	 * to monitor that one instead of the rotated view. Would
+	 * need changes to the FBC fence Y offset as well.
+	 */
 	vma = i915_gem_object_pin_to_display_plane(obj, alignment,
 						   needs_fence, &view);
 	if (IS_ERR(vma))