Quoting Dhinakaran Pandiyan (2018-02-12 06:08:04) > DRM_IOCTL_MODE_CURSOR results in a frontbuffer flush before the cursor > plane MMIOs are written to. But this flush is not necessary for PSR as > hardware tracking takes care of exiting PSR when the MMIO's are written. > > Introduce a new fb_op_origin enum to differentiate these flushes from > those originating due to a dirty fbdev buffer and ignore this enum in > psr_flush and psr_invalidate. > > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/i915_gem.c | 2 +- > drivers/gpu/drm/i915/intel_psr.c | 6 ++++-- > 3 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 19d5ac4921e5..158e774ed2e6 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -637,6 +637,7 @@ enum fb_op_origin { > ORIGIN_CS, > ORIGIN_FLIP, > ORIGIN_DIRTYFB, > + ORIGIN_PINNEDFB, > }; > > struct intel_fbc { > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index fc68b35854df..43146699c497 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4141,7 +4141,7 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj, > > /* Treat this as an end-of-frame, like intel_user_framebuffer_dirty() */ Well this comment is bogus then. Please do explain what is going on here. > __i915_gem_object_flush_for_display(obj); > - intel_fb_obj_flush(obj, ORIGIN_DIRTYFB); > + intel_fb_obj_flush(obj, ORIGIN_PINNEDFB); -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx