[meta-freescale] [meta-fsl-arm][PATCH 1/1] xf86-dri-vivante: Add patch to fix build with Xorg 1.13

Andrei Gherzan andrei.gherzan at windriver.com
Sat Jan 12 08:16:34 PST 2013


Signed-off-by: Andrei Gherzan <andrei.gherzan at windriver.com>
---
 .../xf86-dri-vivante/fix-with-xorg-1-13.patch      |  141 ++++++++++++++++++++
 .../xorg-driver/xf86-dri-vivante_12.09.01.bb       |    7 +-
 2 files changed, 146 insertions(+), 2 deletions(-)
 create mode 100644 recipes-graphics/xorg-driver/xf86-dri-vivante/fix-with-xorg-1-13.patch

diff --git a/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-with-xorg-1-13.patch b/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-with-xorg-1-13.patch
new file mode 100644
index 0000000..0f138e9
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-dri-vivante/fix-with-xorg-1-13.patch
@@ -0,0 +1,141 @@
+Fix module for Xorg 1.13.
+
+Upstream-Status: Pending
+Signed-off-by: Andrei Gherzan <andrei.gherzan at windriver.com>
+
+Index: dri-xorg-graphic-imx-viv-12.09.01/src/dri.c
+===================================================================
+--- dri-xorg-graphic-imx-viv-12.09.01.orig/src/dri.c	2012-07-02 05:25:06.000000000 +0300
++++ dri-xorg-graphic-imx-viv-12.09.01/src/dri.c	2012-12-21 11:42:09.000000000 +0200
+@@ -1675,7 +1675,7 @@
+ 
+ 	if (pDRIPriv &&
+ 	    pDRIPriv->pDriverInfo->wrap.WakeupHandler)
+-	    (*pDRIPriv->pDriverInfo->wrap.WakeupHandler)(i, wakeupData,
++	    (*pDRIPriv->pDriverInfo->wrap.WakeupHandler)(pScreen,
+ 							 result, pReadmask);
+     }
+ }
+@@ -1691,16 +1691,15 @@
+ 
+ 	if (pDRIPriv &&
+ 	    pDRIPriv->pDriverInfo->wrap.BlockHandler)
+-	    (*pDRIPriv->pDriverInfo->wrap.BlockHandler)(i, blockData,
++	    (*pDRIPriv->pDriverInfo->wrap.BlockHandler)(pScreen,
+ 							pTimeout, pReadmask);
+     }
+ }
+ 
+ void
+-DRIDoWakeupHandler(int screenNum, pointer wakeupData,
++DRIDoWakeupHandler(ScreenPtr pScreen,
+                    unsigned long result, pointer pReadmask)
+ {
+-    ScreenPtr pScreen = screenInfo.screens[screenNum];
+     DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
+ 
+     DRILock(pScreen, 0);
+@@ -2383,7 +2382,7 @@
+ 	/* unwrap */
+ 	pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
+ 	/* call lower layers */
+-	(*pScrn->AdjustFrame)(scrnIndex, x, y, flags);
++	(*pScrn->AdjustFrame)(pScrn, x, y);
+ 	/* rewrap */
+ 	pDRIPriv->wrap.AdjustFrame = pScrn->AdjustFrame;
+ 	pScrn->AdjustFrame         = DRIAdjustFrame;
+Index: dri-xorg-graphic-imx-viv-12.09.01/src/dri.h
+===================================================================
+--- dri-xorg-graphic-imx-viv-12.09.01.orig/src/dri.h	2012-07-02 05:25:06.000000000 +0300
++++ dri-xorg-graphic-imx-viv-12.09.01/src/dri.h	2012-12-21 11:42:15.000000000 +0200
+@@ -372,16 +372,14 @@
+ 
+ extern _X_EXPORT Bool DRIFinishScreenInit(ScreenPtr pScreen);
+ 
+-extern _X_EXPORT void DRIWakeupHandler(pointer wakeupData,
+-                             int result,
++extern _X_EXPORT void DRIWakeupHandler(pointer wakeupData, int result,
+                              pointer pReadmask);
+ 
+ extern _X_EXPORT void DRIBlockHandler(pointer blockData,
+                             OSTimePtr pTimeout,
+                             pointer pReadmask);
+ 
+-extern _X_EXPORT void DRIDoWakeupHandler(int screenNum,
+-                               pointer wakeupData,
++extern _X_EXPORT void DRIDoWakeupHandler(ScreenPtr pScreen,
+                                unsigned long result,
+                                pointer pReadmask);
+ 
+Index: dri-xorg-graphic-imx-viv-12.09.01/src/xf86dri.c
+===================================================================
+--- dri-xorg-graphic-imx-viv-12.09.01.orig/src/xf86dri.c	2012-07-02 05:25:06.000000000 +0300
++++ dri-xorg-graphic-imx-viv-12.09.01/src/xf86dri.c	2012-12-21 10:27:32.000000000 +0200
+@@ -102,7 +102,6 @@
+ )
+ {
+     xXF86DRIQueryVersionReply rep;
+-    register int n;
+ 
+     REQUEST_SIZE_MATCH(xXF86DRIQueryVersionReq);
+     rep.type = X_Reply;
+@@ -112,11 +111,11 @@
+     rep.minorVersion = SERVER_XF86DRI_MINOR_VERSION;
+     rep.patchVersion = SERVER_XF86DRI_PATCH_VERSION;
+     if (client->swapped) {
+-    	swaps(&rep.sequenceNumber, n);
+-    	swapl(&rep.length, n);
+-	swaps(&rep.majorVersion, n);
+-	swaps(&rep.minorVersion, n);
+-	swapl(&rep.patchVersion, n);
++    	swaps(&rep.sequenceNumber);
++    	swapl(&rep.length);
++	swaps(&rep.majorVersion);
++	swaps(&rep.minorVersion);
++	swapl(&rep.patchVersion);
+     }
+     WriteToClient(client, sizeof(xXF86DRIQueryVersionReply), (char *)&rep);
+     return Success;
+@@ -129,7 +128,6 @@
+ {
+     xXF86DRIQueryDirectRenderingCapableReply	rep;
+     Bool isCapable;
+-    register int n;
+ 
+     REQUEST(xXF86DRIQueryDirectRenderingCapableReq);
+     REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq);
+@@ -152,8 +150,8 @@
+ 	rep.isCapable = 0;
+ 
+     if (client->swapped) {
+-    	swaps(&rep.sequenceNumber, n);
+-    	swapl(&rep.length, n);
++    	swaps(&rep.sequenceNumber);
++    	swapl(&rep.length);
+     }
+ 
+     WriteToClient(client,
+@@ -611,9 +609,8 @@
+     register ClientPtr	client
+ )
+ {
+-    register int n;
+     REQUEST(xXF86DRIQueryVersionReq);
+-    swaps(&stuff->length, n);
++    swaps(&stuff->length);
+     return ProcXF86DRIQueryVersion(client);
+ }
+ 
+@@ -622,10 +619,9 @@
+     register ClientPtr client
+ )
+ {
+-    register int n;
+     REQUEST(xXF86DRIQueryDirectRenderingCapableReq);
+-    swaps(&stuff->length, n);
+-    swapl(&stuff->screen, n);
++    swaps(&stuff->length);
++    swapl(&stuff->screen);
+     return ProcXF86DRIQueryDirectRenderingCapable(client);
+ }
+ 
diff --git a/recipes-graphics/xorg-driver/xf86-dri-vivante_12.09.01.bb b/recipes-graphics/xorg-driver/xf86-dri-vivante_12.09.01.bb
index 1653029..0f14eb0 100644
--- a/recipes-graphics/xorg-driver/xf86-dri-vivante_12.09.01.bb
+++ b/recipes-graphics/xorg-driver/xf86-dri-vivante_12.09.01.bb
@@ -6,13 +6,16 @@ SECTION = "x11/base"
 DEPENDS = "virtual/libx11 util-macros xf86-video-imxfb-vivante"
 LIC_FILES_CHKSUM = "file://src/dri.h;enline=27;md5=1d0d59e1dc96f5197ea3a8b101bf1fcc"
 
-SRC_URI = "${FSL_MIRROR}/dri-xorg-graphic-imx-viv-${PV}.bin;fsl-eula=true"
+SRC_URI = " \
+    ${FSL_MIRROR}/dri-xorg-graphic-imx-viv-${PV}.bin;fsl-eula=true \
+    file://file://fix-with-xorg-1-13.patch \
+    "
 SRC_URI[md5sum] = "8c90045cd5f4dba81095856634ba5136"
 SRC_URI[sha256sum] = "c844dc180e43901359bbdb4f797ab178b3821fbf63bdee9577e5a0afe5d7f6ad"
 
 S = "${WORKDIR}/dri-xorg-graphic-imx-viv-${PV}"
 
-PR = "r2"
+PR = "r3"
 
 inherit fsl-eula-unpack autotools pkgconfig
 
-- 
1.7.9.5




More information about the meta-freescale mailing list