Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > We only need the one loop to find the dirty vma flush them, and their > chipset. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_object.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c > index db103d3c8760..63bd3ff84f5e 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c > @@ -279,18 +279,12 @@ i915_gem_object_flush_write_domain(struct drm_i915_gem_object *obj, > > switch (obj->write_domain) { > case I915_GEM_DOMAIN_GTT: > - for_each_ggtt_vma(vma, obj) > - intel_gt_flush_ggtt_writes(vma->vm->gt); > - > - intel_frontbuffer_flush(obj->frontbuffer, ORIGIN_CPU); > - > for_each_ggtt_vma(vma, obj) { > - if (vma->iomap) > - continue; > - Is the story with iomap to just avoid fragility and go with the same path, even if the flushes would be superfluous? -Mika > - i915_vma_unset_ggtt_write(vma); > + if (i915_vma_unset_ggtt_write(vma)) > + intel_gt_flush_ggtt_writes(vma->vm->gt); > } > > + intel_frontbuffer_flush(obj->frontbuffer, ORIGIN_CPU); > break; > > case I915_GEM_DOMAIN_WC: > -- > 2.24.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx