[Intel-gfx] [PATCH 3/5] drm/i915: implement SNB workaround for lazy global gtt
Daniel Vetter
daniel at ffwll.ch
Thu Feb 16 00:25:42 CET 2012
On Wed, Feb 15, 2012 at 11:10:08PM +0000, Chris Wilson wrote:
> On Wed, 15 Feb 2012 23:50:23 +0100, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> > + /* Sandybridge PPGTT errata: We need a global gtt mapping for MI and
> > + * pipe_control writes because the gpu doesn't properly redirect them
> > + * through the ppgtt for non_secure batchbuffers. */
> > + if (unlikely(IS_GEN6(dev) &&
> > + reloc->write_domain == I915_GEM_DOMAIN_INSTRUCTION &&
> > + !target_i915_obj->has_global_gtt_mapping)) {
> > + i915_gem_gtt_bind_object(target_i915_obj,
> > + target_i915_obj->cache_level);
> > + target_i915_obj->has_global_gtt_mapping = 1;
>
> i915_gem_gtt_bind_object() sets has_global_gtt_mapping, so no need to
> repeat ourselves here.
Indeed, that's superflous. I'll kill this line when applying it (the
machine with the patches is already down and I'm a lazy bastard ...).
> I guess that was the easy one you throw in to make sure people are
> reading your patches?
>
> A little uneasy still with that heuristic, but I have to agree that it
> is the lesser of the evils, meh.
Luckily pipe_control writes on snb are extremely broken with ppgtt, so we
should notice immediately if someone sets the wrong domain (as I did in
the broken i-g-t test).
> I'm pretty happy now with this series as I've been beating upon it ever
> since it landed in danvet/my-next, so
> Reviewed-and-tested-by: Chris Wilson <chris at chris-wilson.co.uk>
Thanks,
Daniel
--
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48
More information about the Intel-gfx
mailing list