On Wed, Mar 12, 2014 at 09:25:42AM +0000, Chris Wilson wrote: > On Wed, Mar 12, 2014 at 11:16:59AM +0200, Ville Syrjälä wrote: > > On Wed, Mar 12, 2014 at 08:35:39AM +0000, Chris Wilson wrote: > > > On Tue, Mar 11, 2014 at 07:37:35PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > > > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > > > > > Now that we've plugged the mmio vs. ring flip race, we shouldn't need > > > > these vblank waits in the modeset codepaths anymore. So get rid of > > > > them. > > > > > > Hmm, could we not add an assert(DSPSURFLIVE == > > > intel_crtc->dspsurf)? > > > > Where would you want the assert? > > assert_plane_is_bound(new_fb) in crtc_enable() and > assert_plane_is_bound(old_fb) in crt_disable(). i.e. add them to our set > of plane/pipe checks through modeset. We can't really add live base address checks to such places w/o adding extra vblank waits. For example if we first do a set_base w/o waiting for vblank and then disable the crtc. By the time we get to crtc_disable() there's no guarantee that the mmio flip from set_base has completed, and hence the live surface address may still have the old value. For the atomic page flip stuff the live address can serve as a decent debug tool to make sure the flip has really completed or not completed when we expect. IIRC I had such a debug patch in my atomic branch. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx