summaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorLiviu Dudau <Liviu.Dudau@arm.com>2017-11-10 13:33:10 +0000
committerNoralf Trønnes <noralf@tronnes.org>2017-11-15 18:14:46 +0100
commit998fb1a0f478b83492220ff79583bf9ad538bdd8 (patch)
tree2726e7460e19dbee07402dec75f13522b44c6502 /include/drm
parent1f2d9bdc9085a4477a997344b17c40ba2a28d4e4 (diff)
downloadop-kernel-dev-998fb1a0f478b83492220ff79583bf9ad538bdd8.zip
op-kernel-dev-998fb1a0f478b83492220ff79583bf9ad538bdd8.tar.gz
drm: gem_cma_helper.c: Allow importing of contiguous scatterlists with nents > 1
drm_gem_cma_prime_import_sg_table() will fail if the number of entries in the sg_table > 1. However, you can have a device that uses an IOMMU engine and can map a discontiguous buffer with multiple entries that have consecutive sg_dma_addresses, effectively making it contiguous. Allow for that scenario by testing the entries in the sg_table for contiguous coverage. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Link: https://patchwork.freedesktop.org/patch/msgid/20171110133310.1225-1-Liviu.Dudau@arm.com
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_gem_cma_helper.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/drm/drm_gem_cma_helper.h b/include/drm/drm_gem_cma_helper.h
index 76ded75..f191227 100644
--- a/include/drm/drm_gem_cma_helper.h
+++ b/include/drm/drm_gem_cma_helper.h
@@ -8,7 +8,9 @@
* struct drm_gem_cma_object - GEM object backed by CMA memory allocations
* @base: base GEM object
* @paddr: physical address of the backing memory
- * @sgt: scatter/gather table for imported PRIME buffers
+ * @sgt: scatter/gather table for imported PRIME buffers. The table can have
+ * more than one entry but they are guaranteed to have contiguous
+ * DMA addresses.
* @vaddr: kernel virtual address of the backing memory
*/
struct drm_gem_cma_object {
OpenPOWER on IntegriCloud