drm/i915: Add a test that we terminate the trimmed sgtable as expected
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Dec 2016 12:43:46 +0000 (12:43 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 20 Dec 2016 12:31:52 +0000 (12:31 +0000)
In commit 0c40ce130e38 ("drm/i915: Trim the object sg table"), we expect
to copy exactly orig_st->nents across and allocate the table thusly.
The copy loop should therefore end with the new_sg being NULL.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161219124346.550-2-chris@chris-wilson.co.uk
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/i915_gem.c

index 06d3c4818b0aa9ed5255f2e69aeccd7e31c011ff..5275f6248ce38adde4030231dfa470ce22878d99 100644 (file)
@@ -2333,6 +2333,7 @@ static void i915_sg_trim(struct sg_table *orig_st)
                /* called before being DMA mapped, no need to copy sg->dma_* */
                new_sg = sg_next(new_sg);
        }
+       GEM_BUG_ON(new_sg); /* Should walk exactly nents and hit the end */
 
        sg_free_table(orig_st);