summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson2017-02-22 12:40:46 +0100
committerChris Wilson2017-02-22 13:12:13 +0100
commit5a97bcc69cc02d4da9599ed2c256b65fc3bd4ee7 (patch)
tree21c27cff6d4fc392f8381112ed8a9a71ed1a468a /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915: Move cpu_cache_is_coherent() to header (diff)
downloadkernel-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.c9
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;
}