diff options
-rw-r--r-- | recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch | 35 | ||||
-rw-r--r-- | recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch | 35 | ||||
-rw-r--r-- | recipes-graphics/drm/libdrm_%.bbappend | 5 |
3 files changed, 75 insertions, 0 deletions
diff --git a/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch new file mode 100644 index 00000000..1160cd10 --- /dev/null +++ b/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | Add ARM support into xf86arm.h. This provides support for Xorg interface. | ||
2 | Without this the vivante samples will hang during close requiring a reboot | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Lauren Post <lauren.post@freescale.com> | ||
7 | Signed-off-by: Evan Kotara <evan.kotara@freescale.com> | ||
8 | |||
9 | diff --git a/xf86drm.h b/xf86drm.h | ||
10 | --- a/xf86drm.h | ||
11 | +++ b/xf86drm.h | ||
12 | @@ -461,6 +461,23 @@ do { register unsigned int __old __asm(" | ||
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 | + " ite eq\n" \ | ||
26 | + " strexeq %0, %3, [%1]\n" \ | ||
27 | + " movne %0, #1\n" \ | ||
28 | + : "=&r" (__ret) \ | ||
29 | + : "r" (lock), "r" (old), "r" (new) \ | ||
30 | + : "cc","memory"); \ | ||
31 | + } while (0) | ||
32 | + | ||
33 | #endif /* architecture */ | ||
34 | #endif /* __GNUC__ >= 2 */ | ||
35 | |||
diff --git a/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch b/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch new file mode 100644 index 00000000..1160cd10 --- /dev/null +++ b/recipes-graphics/drm/libdrm/mx7/drm-update-arm.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | Add ARM support into xf86arm.h. This provides support for Xorg interface. | ||
2 | Without this the vivante samples will hang during close requiring a reboot | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | |||
6 | Signed-off-by: Lauren Post <lauren.post@freescale.com> | ||
7 | Signed-off-by: Evan Kotara <evan.kotara@freescale.com> | ||
8 | |||
9 | diff --git a/xf86drm.h b/xf86drm.h | ||
10 | --- a/xf86drm.h | ||
11 | +++ b/xf86drm.h | ||
12 | @@ -461,6 +461,23 @@ do { register unsigned int __old __asm(" | ||
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 | + " ite eq\n" \ | ||
26 | + " strexeq %0, %3, [%1]\n" \ | ||
27 | + " movne %0, #1\n" \ | ||
28 | + : "=&r" (__ret) \ | ||
29 | + : "r" (lock), "r" (old), "r" (new) \ | ||
30 | + : "cc","memory"); \ | ||
31 | + } while (0) | ||
32 | + | ||
33 | #endif /* architecture */ | ||
34 | #endif /* __GNUC__ >= 2 */ | ||
35 | |||
diff --git a/recipes-graphics/drm/libdrm_%.bbappend b/recipes-graphics/drm/libdrm_%.bbappend new file mode 100644 index 00000000..97b6df92 --- /dev/null +++ b/recipes-graphics/drm/libdrm_%.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
2 | |||
3 | SRC_URI_append_imxgpu2d = " file://drm-update-arm.patch" | ||
4 | |||
5 | PACKAGE_ARCH_imxgpu2d = "${MACHINE_SOCARCH}" | ||