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 <crg7...@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 -- _______________________________________________ meta-freescale mailing list meta-freescale@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-freescale