summaryrefslogtreecommitdiffstats
path: root/bsp/meta-freescale/recipes-graphics/drm
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-freescale/recipes-graphics/drm')
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm-armada_git.bb17
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch54
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch24
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm/installtests.patch25
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch35
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch35
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm_%.bbappend5
-rw-r--r--bsp/meta-freescale/recipes-graphics/drm/libdrm_2.4.91.imx.bb65
8 files changed, 260 insertions, 0 deletions
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm-armada_git.bb b/bsp/meta-freescale/recipes-graphics/drm/libdrm-armada_git.bb
new file mode 100644
index 00000000..0a14e371
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm-armada_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Userspace interface to kernel DRM services"
+SECTION = "x11/base"
+LICENSE = "GPLv2 & BSD"
+
+LIC_FILES_CHKSUM = "file://libdrm_lists.h;beginline=1;endline=25;md5=2af1df1026ba1d24c8e7c370e68ed198"
+
+DEPENDS = "libdrm"
+
+SRCREV = "6b461c163b0bd02c76b65d94cc2fb3767167bda8"
+PV = "0.1+git${SRCPV}"
+SRC_URI = "git://git.armlinux.org.uk/~rmk/libdrm-armada.git"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE ?= "(imx)"
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch b/bsp/meta-freescale/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
new file mode 100644
index 00000000..fa7b218e
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm/0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch
@@ -0,0 +1,54 @@
+From 9be904a70e6b7e6b3cc4e1b270bca02d14a4179b Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Mon, 5 Sep 2016 14:41:37 +0300
+Subject: [PATCH] configure.ac: Allow explicit enabling of cunit tests
+
+Add --with-cunit to make it easier to do reproducible builds. Default
+is still to probe cunit and build opportunistically.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Upstream-Status: Submitted [mailing list]
+
+---
+ configure.ac | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1341f51..bef46e0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -168,6 +168,12 @@ AC_ARG_ENABLE(install-test-programs,
+ [Install test programs (default: no)]),
+ [INSTALL_TESTS=$enableval], [INSTALL_TESTS=no])
+
++AC_ARG_WITH([cunit],
++ [AS_HELP_STRING([--with-cunit],
++ [Build tests that use cunit (default: auto)])],
++ [],
++ [with_cunit=auto])
++
+ dnl ===========================================================================
+ dnl check compiler flags
+ AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
+@@ -416,7 +422,7 @@ else
+ AC_DEFINE(HAVE_RADEON, 0)
+ fi
+
+-if test "x$AMDGPU" != xno; then
++if test "x$with_cunit" != xno -a "x$AMDGPU" != xno; then
+ # Detect cunit library
+ PKG_CHECK_MODULES([CUNIT], [cunit >= 2.1], [have_cunit=yes], [have_cunit=no])
+ # If pkg-config does not find cunit, check it using AC_CHECK_LIB. We
+@@ -441,7 +447,11 @@ if test "x$AMDGPU" = xyes; then
+ AC_DEFINE(HAVE_AMDGPU, 1, [Have amdgpu support])
+
+ if test "x$have_cunit" = "xno"; then
+- AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
++ if test "x$with_cunit" = "xyes"; then
++ AC_MSG_ERROR([Could not find cunit library but --with-cunit was given])
++ elif test "x$with_cunit" = "xauto"; then
++ AC_MSG_WARN([Could not find cunit library. Disabling amdgpu tests])
++ fi
+ fi
+ else
+ AC_DEFINE(HAVE_AMDGPU, 0)
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/bsp/meta-freescale/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
new file mode 100644
index 00000000..4708bf1e
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
@@ -0,0 +1,24 @@
+drmdevice.c: define _GNU_SOURCE
+
+Include config.h to fix this build error with uclibc:
+
+libdrm-2.4.66/tests/drmdevice.c: In function 'main':
+libdrm-2.4.66/tests/drmdevice.c:96:60: error:
+'O_CLOEXEC' undeclared (first use in this function)
+fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0);
+
+Upstream-Status: Pending
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c
+--- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200
++++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200
+@@ -21,6 +21,7 @@
+ *
+ */
+
++#include <config.h>
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm/installtests.patch b/bsp/meta-freescale/recipes-graphics/drm/libdrm/installtests.patch
new file mode 100644
index 00000000..ec1fb023
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm/installtests.patch
@@ -0,0 +1,25 @@
+From 5c6eb43c2f6e7f2ee7c25c92e42f4e4403fa0527 Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 21 Feb 2017 14:37:52 +0200
+Subject: [PATCH] tests: also install test apps
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+---
+ tests/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 0355a92..b4882cd 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -45,3 +45,4 @@ TESTS = \
+ check_PROGRAMS = \
+ $(TESTS) \
+ drmdevice
++bin_PROGRAMS = $(check_PROGRAMS)
+--
+2.1.4
+
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
new file mode 100644
index 00000000..1160cd10
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
@@ -0,0 +1,35 @@
+Add ARM support into xf86arm.h. This provides support for Xorg interface.
+Without this the vivante samples will hang during close requiring a reboot
+
+Upstream-Status: Pending
+
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
+
+diff --git a/xf86drm.h b/xf86drm.h
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
+ : "cr0", "memory"); \
+ } while (0)
+
++#elif defined(__arm__)
++ #undef DRM_DEV_MODE
++ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
++
++ #define DRM_CAS(lock,old,new,__ret) \
++ do { \
++ __asm__ __volatile__ ( \
++ "1: ldrex %0, [%1]\n" \
++ " teq %0, %2\n" \
++ " ite eq\n" \
++ " strexeq %0, %3, [%1]\n" \
++ " movne %0, #1\n" \
++ : "=&r" (__ret) \
++ : "r" (lock), "r" (old), "r" (new) \
++ : "cc","memory"); \
++ } while (0)
++
+ #endif /* architecture */
+ #endif /* __GNUC__ >= 2 */
+
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch b/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch
new file mode 100644
index 00000000..1160cd10
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch
@@ -0,0 +1,35 @@
+Add ARM support into xf86arm.h. This provides support for Xorg interface.
+Without this the vivante samples will hang during close requiring a reboot
+
+Upstream-Status: Pending
+
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
+
+diff --git a/xf86drm.h b/xf86drm.h
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
+ : "cr0", "memory"); \
+ } while (0)
+
++#elif defined(__arm__)
++ #undef DRM_DEV_MODE
++ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
++
++ #define DRM_CAS(lock,old,new,__ret) \
++ do { \
++ __asm__ __volatile__ ( \
++ "1: ldrex %0, [%1]\n" \
++ " teq %0, %2\n" \
++ " ite eq\n" \
++ " strexeq %0, %3, [%1]\n" \
++ " movne %0, #1\n" \
++ : "=&r" (__ret) \
++ : "r" (lock), "r" (old), "r" (new) \
++ : "cc","memory"); \
++ } while (0)
++
+ #endif /* architecture */
+ #endif /* __GNUC__ >= 2 */
+
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm_%.bbappend b/bsp/meta-freescale/recipes-graphics/drm/libdrm_%.bbappend
new file mode 100644
index 00000000..97b6df92
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_imxgpu2d = " file://drm-update-arm.patch"
+
+PACKAGE_ARCH_imxgpu2d = "${MACHINE_SOCARCH}"
diff --git a/bsp/meta-freescale/recipes-graphics/drm/libdrm_2.4.91.imx.bb b/bsp/meta-freescale/recipes-graphics/drm/libdrm_2.4.91.imx.bb
new file mode 100644
index 00000000..31f24d32
--- /dev/null
+++ b/bsp/meta-freescale/recipes-graphics/drm/libdrm_2.4.91.imx.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs libpciaccess"
+
+IMX_LIBDRM_SRC ?= "git://source.codeaurora.org/external/imx/libdrm-imx.git;protocol=https;nobranch=1"
+IMX_LIBDRM_BRANCH = "libdrm-imx-2.4.91"
+SRC_URI = "${IMX_LIBDRM_SRC};branch=${IMX_LIBDRM_BRANCH} \
+ file://installtests.patch \
+ file://fix_O_CLOEXEC_undeclared.patch \
+ file://0001-configure.ac-Allow-explicit-enabling-of-cunit-tests.patch \
+ "
+SRC_URI_remove = "file://drm-update-arm.patch"
+SRCREV = "e8e9cf8a66be11508c39f1cc31b8a5e7eb758875"
+S = "${WORKDIR}/git"
+
+DEFAULT_PREFERENCE = "-1"
+
+inherit autotools pkgconfig manpages
+
+EXTRA_OECONF += "--disable-cairo-tests \
+ --without-cunit \
+ --enable-omap-experimental-api \
+ --enable-etnaviv-experimental-api \
+ --enable-install-test-programs \
+ --disable-valgrind \
+ "
+PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
+
+ALLOW_EMPTY_${PN}-drivers = "1"
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
+FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+
+EXTRA_OECONF_append_imxgpu = " --enable-vivante-experimental-api"
+
+PACKAGES_prepend_imxgpu = "${PN}-vivante "
+
+RRECOMMENDS_${PN}-drivers_append_imxgpu = " ${PN}-vivante"
+
+FILES_${PN}-vivante = "${libdir}/libdrm_vivante.so.*"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"