Re: [PATCH 2/2] drm/i915: frontbuffer invalidate at flip schedule

Chris Wilson
2015-06-11T09:56:21Z

On Thu, Jun 11, 2015 at 03:08:35PM +0530, Ramalingam C wrote:
> After scheduling a flip for obj, frontbuffer should be invalidated.
> Hence intel_frontbuffer_invalidate is invoked at flip preparation.
>
> Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=90418
> ---
> drivers/gpu/drm/i915/intel_frontbuffer.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_frontbuffer.c b/drivers/gpu/drm/i915/intel_frontbuffer.c
> index 4cea589..07147a7 100644
> --- a/drivers/gpu/drm/i915/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_frontbuffer.c
> @@ -268,6 +268,7 @@ void intel_frontbuffer_flip_prepare(struct drm_device *dev,
> dev_priv->fb_tracking.busy_bits &= ~frontbuffer_bits;
> mutex_unlock(&dev_priv->fb_tracking.lock);
>
> + intel_frontbuffer_invalidate(dev, NULL, ORIGIN_FLIP, frontbuffer_bits);
> intel_psr_single_frame_update(dev);

This then has the side effect of calling psr_invalidate (psr_exit)
followed by the single-shot psr update, which doesn't seem desirable.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre