]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Fallback to single PAGE_SIZE segments for DMA remapping
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Dec 2016 12:43:45 +0000 (12:43 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 20 Dec 2016 12:30:56 +0000 (12:30 +0000)
commitdfe900c2df4cff9544eaf29d1aed1af2837bd622
tree3975ab8248ab9726f1f55110b1820b76d782a511
parente9b5fb380e095e6eac5ee52f34ed3bb22517d2ef
drm/i915: Fallback to single PAGE_SIZE segments for DMA remapping

If we at first do not succeed with attempting to remap our physical
pages using a coalesced scattergather list, try again with one
scattergather entry per page. This should help with swiotlb as it uses a
limited buffer size and only searches for contiguous chunks within its
buffer aligned up to the next boundary - i.e. we may prematurely cause a
failure as we are unable to utilize the unused space between large
chunks and trigger an error such as:

 i915 0000:00:02.0: swiotlb buffer is full (sz: 1630208 bytes)

Reported-by: Juergen Gross <jgross@suse.com>
Tested-by: Juergen Gross <jgross@suse.com>
Fixes: 5439b73e2bb7 ("drm/i915: Allow compaction upto SWIOTLB max segment size")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: <drm-intel-fixes@lists.freedesktop.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20161219124346.550-1-chris@chris-wilson.co.uk
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c