[Intel-gfx] [PATCH 1/2] drm/i915: Replaced Blitter ring based flips with MMIO flips
Chris Wilson
chris at chris-wilson.co.uk
Wed May 28 09:31:52 CEST 2014
On Wed, May 28, 2014 at 12:42:01PM +0530, sourab.gupta at intel.com wrote:
> +static void intel_do_mmio_flip(struct intel_crtc *intel_crtc)
> +{
> + struct drm_device *dev = intel_crtc->base.dev;
> + struct drm_i915_private *dev_priv = dev->dev_private;
> + struct intel_framebuffer *intel_fb =
> + to_intel_framebuffer(intel_crtc->base.primary->fb);
> + struct drm_i915_gem_object *obj = intel_fb->obj;
> + u32 dspcntr;
> + u32 reg;
> +
> + intel_mark_page_flip_active(intel_crtc);
> +
> + reg = DSPCNTR(intel_crtc->plane);
> + dspcntr = I915_READ(reg);
> +
> + if (INTEL_INFO(dev)->gen >= 4) {
> + if (obj->tiling_mode != I915_TILING_NONE)
> + dspcntr |= DISPPLANE_TILED;
> + else
> + dspcntr &= ~DISPPLANE_TILED;
> + }
> + I915_WRITE(reg, dspcntr);
> +
> + I915_WRITE(DSPSURF(intel_crtc->plane),
> + intel_crtc->unpin_work->gtt_offset);
> + POSTING_READ(DSPSURF(intel_crtc->plane));
> +}
So other than byt, why would we not use LRI here and avoid waking the
CPU up?
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list