summaryrefslogtreecommitdiffstats
path: root/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch')
-rw-r--r--package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch b/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch
new file mode 100644
index 0000000000..99a02a88d9
--- /dev/null
+++ b/package/libdrm/0001-Add-ARM-support-into-xf86drm.h.patch
@@ -0,0 +1,47 @@
+From c0950d73c8aa13f057707fb7933c65c147349376 Mon Sep 17 00:00:00 2001
+From: Lauren Post <lauren.post@freescale.com>
+Date: Tue, 22 Mar 2016 22:08:25 +0100
+Subject: [PATCH] Add ARM support into xf86drm.h
+
+This provides support for Xorg interface. Without this the vivante
+samples will hang during close requiring a reboot
+
+[Adapted from yocto project]
+Upstream-Status: Pending
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
+---
+ xf86drm.h | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/xf86drm.h b/xf86drm.h
+index 481d882..1cc0075 100644
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -469,6 +469,23 @@ do { register unsigned int __old __asm("o0"); \
+ : "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 */
+
+--
+2.6.4
+
OpenPOWER on IntegriCloud