drm/i915: Allow compaction upto SWIOTLB max segment size
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Oct 2016 08:20:21 +0000 (09:20 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Oct 2016 09:15:01 +0000 (10:15 +0100)
commit871dfbd67d4ecbcc83fc9e80a310ca9bf3c44c40
tree277f8c6c782b4785118d2facc50cb0199d763aea
parent465350d0db06e280dfd7998392269358bba30813
drm/i915: Allow compaction upto SWIOTLB max segment size

commit 1625e7e549c5 ("drm/i915: make compact dma scatter lists creation
work with SWIOTLB backend") took a heavy handed approach to undo the
scatterlist compaction in the face of SWIOTLB. (The compaction hit a bug
whereby we tried to pass a segment larger than SWIOTLB could handle.) We
can be a little more intelligent and try compacting the scatterlist up
to the maximum SWIOTLB segment size (when using SWIOTLB).

v2: Tidy sg_mark_end() and cpp

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
CC: Imre Deak <imre.deak@intel.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161011082021.14606-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c