aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/xorg-driver
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-04-17 11:01:04 +0200
committerKoen Kooi <koen@openembedded.org>2010-04-17 13:58:53 +0200
commit597e86c28ebd92f673d31c627ca54ceecf4f07a5 (patch)
treecdc42ff101b914b7f39e60482293929d1b8704a4 /recipes/xorg-driver
parenta2eb4a55084af4ffe9ce854bb9cb000b6b36c7a9 (diff)
downloadopenembedded-597e86c28ebd92f673d31c627ca54ceecf4f07a5.tar.gz
xf86-video-s3c64xx: add accelerated (XAA + Xv) driver for s3c64xx SoCs
Diffstat (limited to 'recipes/xorg-driver')
-rw-r--r--recipes/xorg-driver/xf86-video-s3c64xx/0001-s3c64xx-update-for-resources-RAC-API-removal.patch54
-rw-r--r--recipes/xorg-driver/xf86-video-s3c64xx/0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch45
-rw-r--r--recipes/xorg-driver/xf86-video-s3c64xx/0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch25
-rw-r--r--recipes/xorg-driver/xf86-video-s3c64xx_git.bb20
4 files changed, 144 insertions, 0 deletions
diff --git a/recipes/xorg-driver/xf86-video-s3c64xx/0001-s3c64xx-update-for-resources-RAC-API-removal.patch b/recipes/xorg-driver/xf86-video-s3c64xx/0001-s3c64xx-update-for-resources-RAC-API-removal.patch
new file mode 100644
index 0000000000..638de08f6b
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-s3c64xx/0001-s3c64xx-update-for-resources-RAC-API-removal.patch
@@ -0,0 +1,54 @@
+From d09a6fb491439814f5b746d0e749e956f6563a80 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 17 Apr 2010 10:46:10 +0200
+Subject: [PATCH 1/3] s3c64xx: update for resources/RAC API removal
+
+---
+ src/s3c64xx_driver.c | 4 ++++
+ src/s3c64xx_xaa.c | 2 ++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/src/s3c64xx_driver.c b/src/s3c64xx_driver.c
+index 4455b14..f31776b 100644
+--- a/src/s3c64xx_driver.c
++++ b/src/s3c64xx_driver.c
+@@ -59,8 +59,10 @@
+ #include "xf86cmap.h"
+ #include "dgaproc.h"
+
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86Resources.h"
+ #include "xf86RAC.h"
++#endif
+
+ /* RandR rotate */
+ #include "X11/extensions/randr.h"
+@@ -420,9 +422,11 @@ S3CDevPreInit(ScrnInfoPtr pScrn, int flags)
+
+ pS3CDEV->pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
+
++#ifndef XSERVER_LIBPCIACCESS
+ pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
+ /* XXX Is this right? Can probably remove RAC_FB */
+ pScrn->racIoFlags = RAC_FB | RAC_COLORMAP | RAC_CURSOR | RAC_VIEWPORT;
++#endif
+
+ /* open device */
+ if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(pS3CDEV->pEnt->device->options,"s3c64xx")))
+diff --git a/src/s3c64xx_xaa.c b/src/s3c64xx_xaa.c
+index 16cb476..e62c37c 100644
+--- a/src/s3c64xx_xaa.c
++++ b/src/s3c64xx_xaa.c
+@@ -57,7 +57,9 @@
+ #include "xaa.h"
+ #include "xaarop.h"
+
++#ifndef XSERVER_LIBPCIACCESS
+ #include "xf86Resources.h"
++#endif
+
+ /*
+ ** suspend/resume fails unless you have a correctly restoring register state
+--
+1.6.6.1
+
diff --git a/recipes/xorg-driver/xf86-video-s3c64xx/0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch b/recipes/xorg-driver/xf86-video-s3c64xx/0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch
new file mode 100644
index 0000000000..bcd24e8579
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-s3c64xx/0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch
@@ -0,0 +1,45 @@
+From 1311ff65283ed306bcac4b4b971e02144d65da6b Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 17 Apr 2010 10:50:38 +0200
+Subject: [PATCH 2/3] DPMS header was split into dpms.h (client) and dpmsconst.h (server). Drivers need to include dpmsconst.h if xextproto 7.1 is available.
+
+---
+ configure.ac | 4 ++++
+ src/s3c64xx_lcd.c | 4 ++++
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c69218f..a9ec2f0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,6 +58,10 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto)
+ # Checks for pkg-config packages
+ PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901 xproto fontsproto $REQUIRED_MODULES])
+ sdkdir=$(pkg-config --variable=sdkdir xorg-server)
++PKG_CHECK_MODULES(XEXT, [xextproto >= 7.0.99.1],
++ HAVE_XEXTPROTO_71="yes"; AC_DEFINE(HAVE_XEXTPROTO_71, 1, [xextproto 7.1 available]),
++ HAVE_XEXTPROTO_71="no")
++AM_CONDITIONAL(HAVE_XEXTPROTO_71, [ test "$HAVE_XEXTPROTO_71" = "yes" ])
+
+ AM_CONDITIONAL(PCIACCESS, [test "x$PCIACCESS" = xyes])
+ if test "x$PCIACCESS" = xyes; then
+diff --git a/src/s3c64xx_lcd.c b/src/s3c64xx_lcd.c
+index 5200f60..02627ae 100644
+--- a/src/s3c64xx_lcd.c
++++ b/src/s3c64xx_lcd.c
+@@ -53,8 +53,12 @@
+
+ #include "s3c64xx.h"
+
++#ifdef HAVE_XEXTPROTO_71
++#include <X11/extensions/dpmsconst.h>
++#else
+ #define DPMS_SERVER
+ #include "X11/extensions/dpms.h"
++#endif
+
+ enum OutputTypes {
+ S3C_OUTPUT_LCD,
+--
+1.6.6.1
+
diff --git a/recipes/xorg-driver/xf86-video-s3c64xx/0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch b/recipes/xorg-driver/xf86-video-s3c64xx/0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch
new file mode 100644
index 0000000000..f8bb33dc73
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-s3c64xx/0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch
@@ -0,0 +1,25 @@
+From d004fb3e90acffdf800f3d07642fac364dd20f2d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sat, 17 Apr 2010 10:55:47 +0200
+Subject: [PATCH 3/3] s3c64xx lcd: include "cursorstr.h to get CursorRec and AllocCursorARGB definitions
+
+---
+ src/s3c64xx_lcd.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/src/s3c64xx_lcd.c b/src/s3c64xx_lcd.c
+index 02627ae..3005d2e 100644
+--- a/src/s3c64xx_lcd.c
++++ b/src/s3c64xx_lcd.c
+@@ -60,6 +60,8 @@
+ #include "X11/extensions/dpms.h"
+ #endif
+
++#include "cursorstr.h"
++
+ enum OutputTypes {
+ S3C_OUTPUT_LCD,
+ S3C_OUTPUT_TV, /* add another Output if TV out is desired */
+--
+1.6.6.1
+
diff --git a/recipes/xorg-driver/xf86-video-s3c64xx_git.bb b/recipes/xorg-driver/xf86-video-s3c64xx_git.bb
new file mode 100644
index 0000000000..934c2195b4
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-s3c64xx_git.bb
@@ -0,0 +1,20 @@
+require xorg-driver-video.inc
+
+PR_append = "a"
+
+DESCRIPTION = "X.Org X server -- driver for the Samsung s3c64xx SoC family"
+
+SRCREV = "79c2402ba26e57f4c9fd27f75f8a0324c72c13be"
+PV = "0.0.2+${PR}+gitr${SRCREV}"
+
+SRC_URI = "git://git.gitorious.org/xf86-video-s3c64xx/xf86-video-s3c64xx.git;protocol=http \
+ file://0001-s3c64xx-update-for-resources-RAC-API-removal.patch;patch=1 \
+ file://0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch;patch=1 \
+ file://0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/git"
+
+CFLAGS += " -I${STAGING_INCDIR}/xorg "
+
+