On Wed, Feb 08, 2017 at 01:36:53PM +0000, Chris Wilson wrote: > On Wed, Feb 08, 2017 at 01:10:56PM +0000, Tvrtko Ursulin wrote: > > @@ -2288,32 +2264,33 @@ int intel_ring_begin(struct drm_i915_gem_request *req, int num_dwords) > > ring->space -= remain_actual; > > } > > > > + out = (u32 *)(ring->vaddr + ring->tail); > > Checkpatch will complain about unaligned brackets, but I'll whine that > this cast is unnecessary. > > > -static inline void intel_ring_advance(struct intel_ring *ring) > > +static inline void > > +intel_ring_advance(struct drm_i915_gem_request *req, u32 *out) > > { > > + struct intel_ring *ring = req->ring; > > /* Dummy function. > > * > > * This serves as a placeholder in the code so that the reader > > @@ -519,7 +510,7 @@ static inline void intel_ring_advance(struct intel_ring *ring) > > * reserved for the command packet (i.e. the value passed to > > * intel_ring_begin()). > > */ > > - GEM_BUG_ONLY_ON(ring->tail != ring->advance); > > + GEM_BUG_ON((ring->vaddr + ring->tail) != out); > > This will generate a warning for an unused var if !GEM_DEBUG, just use > GEM_BUG_ON(req->ring->vaddr + req->ring->tail != out); > it'll fit, the compiler will do CSE and it's only for debug... > > The transformation looked good. I'd suggest we do a trybot with > i915.mmio_flip=0 to force the MI_DISPLAY_FLIP paths to be exercised and > aside from gen2/3 that should be all intel_ring_begin() covered. Oh, that forgets that atomic took over and we can't run the CS flips anymore. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx