]> git.baikalelectronics.ru Git - kernel.git/commit
drm/cma-helper: Describe what a "contiguous chunk" actually means
authorDaniel Thompson <daniel.thompson@linaro.org>
Wed, 8 Jun 2022 13:58:21 +0000 (14:58 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Jun 2022 15:36:15 +0000 (17:36 +0200)
commitfeacc6a42d5943a90e0a88c34fa6bd1dcdab077c
tree187606b605e0d64a43a3f13bc6a10fb41947b7e7
parent72c8e85ae0dd6e4f83c6f789f34a0caeb732fc60
drm/cma-helper: Describe what a "contiguous chunk" actually means

Since it's inception in 2012 it has been understood that the DRM GEM CMA
helpers do not depend on CMA as the backend allocator. In fact the first
bug fix to ensure the cma-helpers work correctly with an IOMMU backend
appeared in 2014. However currently the documentation for
drm_gem_cma_create() talks about "a contiguous chunk of memory" without
making clear which address space it will be a contiguous part of.
Additionally the CMA introduction is actively misleading because it only
contemplates the CMA backend.

This matters because when the device accesses the bus through an IOMMU
(and don't use the CMA backend) then the allocated memory is contiguous
only in the IOVA space. This is a significant difference compared to the
CMA backend and the behaviour can be a surprise even to someone who does
a reasonable level of code browsing (but doesn't find all the relevant
function pointers ;-) ).

Improve the kernel doc comments accordingly.

Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220608135821.1153346-1-daniel.thompson@linaro.org
drivers/gpu/drm/drm_gem_cma_helper.c