Skip to content

Commit

Permalink
drm/i915: Avoid nesting of domain changes when setting display plane
Browse files Browse the repository at this point in the history
Nesting domain changes will cause confusion when trying to interpret the
tracepoints describing the sequence of changes for the object, as well
as obscuring the order of operations for the reader of the code.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
  • Loading branch information
Chris Wilson authored and Eric Anholt committed May 28, 2010
1 parent 468f0b4 commit b118c1e
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -2914,18 +2914,16 @@ i915_gem_object_set_to_display_plane(struct drm_gem_object *obj)
return ret;
}

i915_gem_object_flush_cpu_write_domain(obj);

old_write_domain = obj->write_domain;
old_read_domains = obj->read_domains;

obj->read_domains &= I915_GEM_DOMAIN_GTT;

i915_gem_object_flush_cpu_write_domain(obj);

/* It should now be out of any other write domains, and we can update
* the domain values for our changes.
*/
BUG_ON((obj->write_domain & ~I915_GEM_DOMAIN_GTT) != 0);
obj->read_domains |= I915_GEM_DOMAIN_GTT;
obj->read_domains = I915_GEM_DOMAIN_GTT;
obj->write_domain = I915_GEM_DOMAIN_GTT;
obj_priv->dirty = 1;

Expand Down

0 comments on commit b118c1e

Please sign in to comment.