On Thu, Aug 9, 2012 at 2:31 AM, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > Hi Lars, > > On Wednesday 08 August 2012 18:25:30 Lars-Peter Clausen wrote: >> On 08/08/2012 04:44 PM, Laurent Pinchart wrote: >> > On Wednesday 27 June 2012 15:30:18 Sascha Hauer wrote: >> >> Many embedded drm devices do not have a IOMMU and no dedicated >> >> memory for graphics. These devices use CMA (Contiguous Memory >> >> Allocator) backed graphics memory. This patch provides helper >> >> functions to be able to share the code. The code technically does >> >> not depend on CMA as the backend allocator, the name has been chosen >> >> because cma makes for a nice, short but still descriptive function >> >> prefix. >> >> >> >> Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> >> >> --- >> >> >> >> changes since v3: >> >> - *really* use DIV_ROUND_UP(args->width * args->bpp, 8) to calculate the >> >> pitch changes since v2: >> >> - make drm_gem_cma_create_with_handle static >> >> - use DIV_ROUND_UP(args->width * args->bpp, 8) to calculate the pitch >> >> - make drm_gem_cma_vm_ops const >> >> - add missing #include <linux/export.h> >> >> changes since v1: >> >> - map whole buffer at mmap time, not page by page at fault time >> >> - several cleanups as suggested by Lars-Peter Clausen and Laurent >> >> Pinchart >> >> >> >> drivers/gpu/drm/Kconfig | 6 + >> >> drivers/gpu/drm/Makefile | 1 + >> >> drivers/gpu/drm/drm_gem_cma_helper.c | 251 >> >> +++++++++++++++++++++++++++++++ >> >> include/drm/drm_gem_cma_helper.h | 44 ++++++ >> >> 4 files changed, 302 insertions(+) >> >> create mode 100644 drivers/gpu/drm/drm_gem_cma_helper.c >> >> create mode 100644 include/drm/drm_gem_cma_helper.h >> >> >> >> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig >> >> index dc5df12..8f362ec 100644 >> >> --- a/drivers/gpu/drm/Kconfig >> >> +++ b/drivers/gpu/drm/Kconfig >> >> @@ -53,6 +53,12 @@ config DRM_TTM >> >> >> >> GPU memory types. Will be enabled automatically if a device driver >> >> uses it. >> >> >> >> +config DRM_GEM_CMA_HELPER >> >> + tristate >> >> + depends on DRM >> >> + help >> >> + Choose this if you need the GEM CMA helper functions >> >> + >> >> >> >> config DRM_TDFX >> >> >> >> tristate "3dfx Banshee/Voodoo3+" >> >> depends on DRM && PCI >> >> >> >> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile >> >> index 0487ff6..8759cda 100644 >> >> --- a/drivers/gpu/drm/Makefile >> >> +++ b/drivers/gpu/drm/Makefile >> >> @@ -15,6 +15,7 @@ drm-y := drm_auth.o drm_buffer.o drm_bufs.o >> >> drm_cache.o \ drm_trace_points.o drm_global.o drm_prime.o >> >> >> >> drm-$(CONFIG_COMPAT) += drm_ioc32.o >> >> >> >> +drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o >> > >> > This results in a built failure for me with >> > >> > CONFIG_DRM=y >> > CONFIG_DRM_KMS_HELPER=m >> > # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set >> > CONFIG_DRM_GEM_CMA_HELPER=m >> > CONFIG_DRM_KMS_CMA_HELPER=m >> > >> > drm_gem_cma_helper.o isn't compiled at all. Can you reproduce the problem >> > ? >> >> The Kconfig entry needs to be bool instead of tristate. > > That's my preferred solution as well. I'll modify the patch in my tree, unless > Sascha wants to submit a v5. Oh I keep missing this, I've no objections to putting it into -next, if someone sends one clean patch to the list with sign offs that I can grab easily. Dave. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel