diff options
author | Chris Wilson | 2017-02-22 12:40:46 +0100 |
---|---|---|
committer | Chris Wilson | 2017-02-22 13:12:13 +0100 |
commit | 5a97bcc69cc02d4da9599ed2c256b65fc3bd4ee7 (patch) | |
tree | 21c27cff6d4fc392f8381112ed8a9a71ed1a468a /drivers/gpu/drm/i915/intel_display.c | |
parent | drm/i915: Move cpu_cache_is_coherent() to header (diff) | |
download | kernel-qcow2-linux-5a97bcc69cc02d4da9599ed2c256b65fc3bd4ee7.tar.gz kernel-qcow2-linux-5a97bcc69cc02d4da9599ed2c256b65fc3bd4ee7.tar.xz kernel-qcow2-linux-5a97bcc69cc02d4da9599ed2c256b65fc3bd4ee7.zip |
drm/i915: Amalgamate flushing of display objects
We have three different paths by which userspace wants to flush the
display plane (i.e. objects with obj->pin_display). Use a common helper
to identify those paths and to simplify a later change.
v2: Include the conditional in the name, i915_gem_object_flush_if_display
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170222114049.28456-3-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e1e828a8c524..4d67cbb3185c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -14278,15 +14278,10 @@ static int intel_user_framebuffer_dirty(struct drm_framebuffer *fb, struct drm_clip_rect *clips, unsigned num_clips) { - struct drm_device *dev = fb->dev; - struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb); - struct drm_i915_gem_object *obj = intel_fb->obj; + struct drm_i915_gem_object *obj = intel_fb_obj(fb); - mutex_lock(&dev->struct_mutex); - if (obj->pin_display && obj->cache_dirty) - i915_gem_clflush_object(obj, true); + i915_gem_object_flush_if_display(obj); intel_fb_obj_flush(obj, false, ORIGIN_DIRTYFB); - mutex_unlock(&dev->struct_mutex); return 0; } |