Quoting Dhinakaran Pandiyan (2018-03-07 03:34:19)
> DRM_IOCTL_MODE_CURSOR results in frontbuffer flush before the cursor
> plane MMIOs are written to. But this flush should not be necessary for
> PSR as hardware tracking triggers PSR exit when MMIOs are written. As
> for FBC, the spec says "Flips or changes to plane size and panning" cause
> FBC to be nuked. Use origin == ORIGIN_FLIP so that features can ignore
> cursor updates in their frontbuffer_flush implementations.
> 
>  /sys/kernel/debug/dri/0/i915_fbc_status shows
> "Compressing: yes" when I move the cursor around.
> 
> v3: Use ORIGIN_FLIP now that pin_to_display does not flush frontbuffer.
> v2: Update comment in i915_gem_object_pin_to_display_plane. (Chris)
> 
> Cc: Paulo Zanoni <paulo.r.zan...@intel.com>
> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> Cc: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Rodrigo Vivi <rodrigo.v...@intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandi...@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index 91ce8a0522a3..18b08e263ee1 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13176,7 +13176,7 @@ intel_legacy_cursor_update(struct drm_plane *plane,
>         if (ret)
>                 goto out_unlock;
>  
> -       intel_fb_obj_flush(intel_fb_obj(fb), ORIGIN_DIRTYFB);
> +       intel_fb_obj_flush(intel_fb_obj(fb), ORIGIN_FLIP);

What about prepare_plane? That should reduce to ORIGIN_FLIP as well,
aiui.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to