|
@@ -39,8 +39,7 @@
|
|
|
#include <linux/dma-buf.h>
|
|
|
|
|
|
static void i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj);
|
|
|
-static void i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj,
|
|
|
- bool force);
|
|
|
+static void i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj);
|
|
|
static __must_check int
|
|
|
i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj,
|
|
|
bool readonly);
|
|
@@ -1516,7 +1515,7 @@ i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data,
|
|
|
|
|
|
/* Pinned buffers may be scanout, so flush the cache */
|
|
|
if (obj->pin_display)
|
|
|
- i915_gem_object_flush_cpu_write_domain(obj, true);
|
|
|
+ i915_gem_object_flush_cpu_write_domain(obj);
|
|
|
|
|
|
drm_gem_object_unreference(&obj->base);
|
|
|
unlock:
|
|
@@ -3680,15 +3679,14 @@ i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj)
|
|
|
|
|
|
/** Flushes the CPU write domain for the object if it's dirty. */
|
|
|
static void
|
|
|
-i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj,
|
|
|
- bool force)
|
|
|
+i915_gem_object_flush_cpu_write_domain(struct drm_i915_gem_object *obj)
|
|
|
{
|
|
|
uint32_t old_write_domain;
|
|
|
|
|
|
if (obj->base.write_domain != I915_GEM_DOMAIN_CPU)
|
|
|
return;
|
|
|
|
|
|
- if (i915_gem_clflush_object(obj, force))
|
|
|
+ if (i915_gem_clflush_object(obj, obj->pin_display))
|
|
|
i915_gem_chipset_flush(obj->base.dev);
|
|
|
|
|
|
old_write_domain = obj->base.write_domain;
|
|
@@ -3735,7 +3733,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write)
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
|
|
|
- i915_gem_object_flush_cpu_write_domain(obj, false);
|
|
|
+ i915_gem_object_flush_cpu_write_domain(obj);
|
|
|
|
|
|
/* Serialise direct access to this object with the barriers for
|
|
|
* coherent writes from the GPU, by effectively invalidating the
|
|
@@ -3981,7 +3979,7 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_object *obj,
|
|
|
if (ret)
|
|
|
goto err_unpin_display;
|
|
|
|
|
|
- i915_gem_object_flush_cpu_write_domain(obj, true);
|
|
|
+ i915_gem_object_flush_cpu_write_domain(obj);
|
|
|
|
|
|
old_write_domain = obj->base.write_domain;
|
|
|
old_read_domains = obj->base.read_domains;
|