aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-06-18 21:58:39 -0400
committerDave Airlie <airlied@redhat.com>2015-06-18 21:58:39 -0400
commitfcee3c73a2c51982057b93fe599b7c68e16d0636 (patch)
treee0f3890063192f05727f4749573bf22ac268cbcb /drivers/gpu
parent031fea43670c265a55aa5037dd08f8d5a10d2803 (diff)
parent245ec9d85696c3e539b23e210f248698b478379c (diff)
Merge tag 'drm-intel-fixes-2015-06-18' of git://anongit.freedesktop.org/drm-intel into drm-fixes
one fix, one revert * tag 'drm-intel-fixes-2015-06-18' of git://anongit.freedesktop.org/drm-intel: Revert "drm/i915: Don't skip request retirement if the active list is empty" drm/i915: Always reset vma->ggtt_view.pages cache on unbinding
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 851b585987f9..2d0995e7afc3 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2656,6 +2656,9 @@ void i915_gem_reset(struct drm_device *dev)
2656void 2656void
2657i915_gem_retire_requests_ring(struct intel_engine_cs *ring) 2657i915_gem_retire_requests_ring(struct intel_engine_cs *ring)
2658{ 2658{
2659 if (list_empty(&ring->request_list))
2660 return;
2661
2659 WARN_ON(i915_verify_lists(ring->dev)); 2662 WARN_ON(i915_verify_lists(ring->dev));
2660 2663
2661 /* Retire requests first as we use it above for the early return. 2664 /* Retire requests first as we use it above for the early return.
@@ -3000,8 +3003,8 @@ int i915_vma_unbind(struct i915_vma *vma)
3000 } else if (vma->ggtt_view.pages) { 3003 } else if (vma->ggtt_view.pages) {
3001 sg_free_table(vma->ggtt_view.pages); 3004 sg_free_table(vma->ggtt_view.pages);
3002 kfree(vma->ggtt_view.pages); 3005 kfree(vma->ggtt_view.pages);
3003 vma->ggtt_view.pages = NULL;
3004 } 3006 }
3007 vma->ggtt_view.pages = NULL;
3005 } 3008 }
3006 3009
3007 drm_mm_remove_node(&vma->node); 3010 drm_mm_remove_node(&vma->node);