diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_execbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_execbuffer.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index a8bb62ca8756..87a3227e5179 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c | |||
@@ -786,7 +786,7 @@ i915_gem_execbuffer_move_to_active(struct list_head *objects, | |||
786 | obj->dirty = 1; | 786 | obj->dirty = 1; |
787 | obj->last_write_seqno = intel_ring_get_seqno(ring); | 787 | obj->last_write_seqno = intel_ring_get_seqno(ring); |
788 | if (obj->pin_count) /* check for potential scanout */ | 788 | if (obj->pin_count) /* check for potential scanout */ |
789 | intel_mark_fb_busy(obj); | 789 | intel_mark_fb_busy(obj, ring); |
790 | } | 790 | } |
791 | 791 | ||
792 | trace_i915_gem_object_change_domain(obj, old_read, old_write); | 792 | trace_i915_gem_object_change_domain(obj, old_read, old_write); |
@@ -796,13 +796,14 @@ i915_gem_execbuffer_move_to_active(struct list_head *objects, | |||
796 | static void | 796 | static void |
797 | i915_gem_execbuffer_retire_commands(struct drm_device *dev, | 797 | i915_gem_execbuffer_retire_commands(struct drm_device *dev, |
798 | struct drm_file *file, | 798 | struct drm_file *file, |
799 | struct intel_ring_buffer *ring) | 799 | struct intel_ring_buffer *ring, |
800 | struct drm_i915_gem_object *obj) | ||
800 | { | 801 | { |
801 | /* Unconditionally force add_request to emit a full flush. */ | 802 | /* Unconditionally force add_request to emit a full flush. */ |
802 | ring->gpu_caches_dirty = true; | 803 | ring->gpu_caches_dirty = true; |
803 | 804 | ||
804 | /* Add a breadcrumb for the completion of the batch buffer */ | 805 | /* Add a breadcrumb for the completion of the batch buffer */ |
805 | (void)i915_add_request(ring, file, NULL); | 806 | (void)__i915_add_request(ring, file, obj, NULL); |
806 | } | 807 | } |
807 | 808 | ||
808 | static int | 809 | static int |
@@ -1083,7 +1084,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data, | |||
1083 | trace_i915_gem_ring_dispatch(ring, intel_ring_get_seqno(ring), flags); | 1084 | trace_i915_gem_ring_dispatch(ring, intel_ring_get_seqno(ring), flags); |
1084 | 1085 | ||
1085 | i915_gem_execbuffer_move_to_active(&eb->objects, ring); | 1086 | i915_gem_execbuffer_move_to_active(&eb->objects, ring); |
1086 | i915_gem_execbuffer_retire_commands(dev, file, ring); | 1087 | i915_gem_execbuffer_retire_commands(dev, file, ring, batch_obj); |
1087 | 1088 | ||
1088 | err: | 1089 | err: |
1089 | eb_destroy(eb); | 1090 | eb_destroy(eb); |