On Wed, May 28, 2014 at 08:31:52AM +0100, Chris Wilson wrote:
> On Wed, May 28, 2014 at 12:42:01PM +0530, sourab.gu...@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?

The plan is to eventually expand this thing to handle the nuclear flip
and we're going use mmio for that. So going for mmio from the start
seems fine to me. Especially since we need the mmio path for byt anyway.

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to