Message ID | 20171116191451.28823-4-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
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 --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))