diff options
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.patch | 47 |
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 + |