| [Adapted from yocto project] |
| |
| Add ARM support into xf86drm.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 */ |
| |