On Fri, Nov 13, 2015 at 10:38:07AM +0000, Daniel Stone wrote: > Hi, > > On 13 November 2015 at 10:08, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Nov 12, 2015 at 05:49:28PM -0800, Alex Goins wrote: > >> static const uint32_t i8xx_primary_formats[] = { > >> @@ -11170,10 +11172,19 @@ static void ilk_do_mmio_flip(struct intel_crtc *intel_crtc) > >> static void intel_do_mmio_flip(struct intel_crtc *intel_crtc) > >> { > >> struct drm_device *dev = intel_crtc->base.dev; > >> + struct drm_i915_gem_object *pending_flip_obj = > >> + intel_crtc->unpin_work->pending_flip_obj; > >> u32 start_vbl_count; > >> > >> intel_mark_page_flip_active(intel_crtc); > >> > >> + /* For framebuffer backed by dmabuf, wait for fence */ > >> + if (pending_flip_obj->base.dma_buf) { > >> + reservation_object_wait_timeout_rcu( > >> + pending_flip_obj->base.dma_buf->resv, > >> + true, false, msecs_to_jiffies(96)); > >> + } > > > > This wait should be prior to marking the flip as waiting for the > > flip-completion interrupt. My personal preference (aside from putting > > this next to the other wait) would to have been to use crtc->primary->fb > > to match the do_mmip_flips funcs (I expect that we will eliminate the > > pending_flip_obj in the near future). > > No, don't use crtc->primary->fb for anything. s/crtc->primary->fb/whatever is actually used by the ilk_do_mmio_flip and co which is certainly not pending_flip_obj/ -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel