diff mbox

[v5,08/15] libdrm: fix support for xserver with Vivante drivers

Message ID 1418132813-32642-9-git-send-email-jezz@sysmic.org
State Accepted
Headers show

Commit Message

Jérôme Pouiller Dec. 9, 2014, 1:46 p.m. UTC
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
 package/libdrm/0001-update-arm.patch | 37 ++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 package/libdrm/0001-update-arm.patch

Comments

Thomas Petazzoni Dec. 27, 2014, 8:49 p.m. UTC | #1
Dear Jérôme Pouiller,

On Tue,  9 Dec 2014 14:46:46 +0100, Jérôme Pouiller wrote:
> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
> ---
>  package/libdrm/0001-update-arm.patch | 37 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 package/libdrm/0001-update-arm.patch
> 
> diff --git a/package/libdrm/0001-update-arm.patch b/package/libdrm/0001-update-arm.patch
> new file mode 100644
> index 0000000..8c874bb
> --- /dev/null
> +++ b/package/libdrm/0001-update-arm.patch
> @@ -0,0 +1,37 @@
> +[Adapted from yocto project]
> +
> +Add ARM support into xf86arm.h.  This provides support for Xorg interface.

xf86arm -> xf86drm.

Committed with this fixed.

If you've successfully tested this, can you send a Tested-by to
upstream libdrm to ensure the patch gets merged at some point?

Thanks,

Thomas
diff mbox

Patch

diff --git a/package/libdrm/0001-update-arm.patch b/package/libdrm/0001-update-arm.patch
new file mode 100644
index 0000000..8c874bb
--- /dev/null
+++ b/package/libdrm/0001-update-arm.patch
@@ -0,0 +1,37 @@ 
+[Adapted from yocto project]
+
+Add ARM support into xf86arm.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 */
+