summaryrefslogtreecommitdiffstats
path: root/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2013-07-16 17:32:15 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2013-08-31 17:54:42 -0300
commita52f88cdd1ba57f803bd4c8efd847d7c71788ff6 (patch)
tree5743085da726a45db9b697dd74c5ccadd0295516 /meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
parentc1cf33b6a02bc5a4ba23b1e1971dad22dbcb317c (diff)
downloadmeta-freescale-a52f88cdd1ba57f803bd4c8efd847d7c71788ff6.tar.gz
libdrm: Add fix to avoid GPU freeze
Add ARM support into xf86drm.h. This provides support for Xorg interface. Without this the vivante samples will hang during close requiring a reboot Change-Id: I60ea3c87c35fadaa00c64baffd24f74f41dfbb9b Signed-off-by: Lauren Post <lauren.post@freescale.com> Signed-off-by: Evan Kotara <evan.kotara@freescale.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch')
-rw-r--r--meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
new file mode 100644
index 00000000..4389fe4a
--- /dev/null
+++ b/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
@@ -0,0 +1,34 @@
1Add ARM support into xf86arm.h. This provides support for Xorg interface.
2Without this the vivante samples will hang during close requiring a reboot
3
4Upstream-Status: Pending
5
6Signed-off-by: Lauren Post <lauren.post@freescale.com>
7Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
8
9diff --git a/xf86drm.h b/xf86drm.h
10--- a/xf86drm.h
11+++ b/xf86drm.h
12@@ -455,6 +455,22 @@ do { register unsigned int __old __asm("o0"); \
13 : "cr0", "memory"); \
14 } while (0)
15
16+#elif defined(__arm__)
17+ #undef DRM_DEV_MODE
18+ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
19+
20+ #define DRM_CAS(lock,old,new,__ret) \
21+ do { \
22+ __asm__ __volatile__ ( \
23+ "1: ldrex %0, [%1]\n" \
24+ " teq %0, %2\n" \
25+ " strexeq %0, %3, [%1]\n" \
26+ " movne %0, #1\n" \
27+ : "=&r" (__ret) \
28+ : "r" (lock), "r" (old), "r" (new) \
29+ : "cc","memory"); \
30+ } while (0)
31+
32 #endif /* architecture */
33 #endif /* __GNUC__ >= 2 */
34