[meta-freescale] [PATCH] libimxdmabuffer: Add recipe

Carlos Rafael Giani crg7475 at mailbox.org
Mon Jul 8 12:39:32 PDT 2019


libimxdmabuffer provides an API for allocating and handling physically
contiguous buffers ("DMA buffers") on imx6, imx7, imx8 machines with the
imx-kernel. The underlying allocation can be backed by the PxP, IPU, ION,
DWL, G2D APIs.

The API is backend agnostic. The same structures and functions can be used
with the underlying PxP and IPU allocators for example. Furthermore, the
library defines a "default" allocator (which one is the "default" is
determined by the library and by the build configuration).

By using this API, libraries can use compatible types for exchanging
DMA buffers in userspace, and can also use the same API and support mx6,
mx7, and mx8 machines, without requiring platform specific code changes.

Signed-off-by: Carlos Rafael Giani <crg7475 at mailbox.org>
---
 .../libimxdmabuffer/libimxdmabuffer_1.0.0.bb  | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb

diff --git a/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb
new file mode 100644
index 00000000..a4252a7b
--- /dev/null
+++ b/recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.0.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
+               ("DMA memory" or "DMA buffers") on i.MX devices.'
+HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
+SECTION = "base"
+
+PV = "1.0.0+git${SRCPV}"
+
+SRCBRANCH ?= "master"
+SRCREV = "db17cb57d1087cf590b28487c43cb5c47bf76fe7"
+SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig waf use-imx-headers ptest
+
+EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
+                --libdir=${libdir} \
+                ${PACKAGECONFIG_CONFARGS}"
+
+PACKAGECONFIG ?= " "
+PACKAGECONFIG_append_imxgpu2d = " g2d"
+PACKAGECONFIG_append_imxipu   = " ipu"
+PACKAGECONFIG_append_imxpxp   = " pxp"
+PACKAGECONFIG_append_mx8m     = " dwl ion"
+
+HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
+
+PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF},--with-dwl-allocator=no,imx-vpu-hantro"
+PACKAGECONFIG[ion] = "--with-ion-allocator=yes,               --with-ion-allocator=no,"
+PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes,               --with-ipu-allocator=no,"
+PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes,               --with-g2d-allocator=no,virtual/libg2d"
+PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes,               --with-pxp-allocator=no,"
+
+do_install_ptest () {
+    install -d ${D}${PTEST_PATH}/tests
+    install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}/tests
+}
+
+COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
-- 
2.17.1



More information about the meta-freescale mailing list