On Wed, May 28, 2014 at 08:31:52AM +0100, Chris Wilson wrote: > On Wed, May 28, 2014 at 12:42:01PM +0530, sourab.gupta@xxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx