From a52f88cdd1ba57f803bd4c8efd847d7c71788ff6 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Tue, 16 Jul 2013 17:32:15 -0300 Subject: [PATCH] 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 Signed-off-by: Evan Kotara Signed-off-by: Otavio Salvador --- .../drm/libdrm/mx6/drm-update-arm.patch | 34 +++++++++++++++++++ .../drm/libdrm_2.4.46.bbappend | 5 +++ 2 files changed, 39 insertions(+) create mode 100644 meta-fsl-arm/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch create mode 100644 meta-fsl-arm/recipes-graphics/drm/libdrm_2.4.46.bbappend 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 @@ +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 +Signed-off-by: Evan Kotara + +diff --git a/xf86drm.h b/xf86drm.h +--- a/xf86drm.h ++++ b/xf86drm.h +@@ -455,6 +455,22 @@ 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" \ ++ " 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 */ + diff --git a/meta-fsl-arm/recipes-graphics/drm/libdrm_2.4.46.bbappend b/meta-fsl-arm/recipes-graphics/drm/libdrm_2.4.46.bbappend new file mode 100644 index 00000000..8c8ea6bd --- /dev/null +++ b/meta-fsl-arm/recipes-graphics/drm/libdrm_2.4.46.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append_mx6 = "file://drm-update-arm.patch" + +PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}" -- 2.40.1