From 597e86c28ebd92f673d31c627ca54ceecf4f07a5 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Sat, 17 Apr 2010 11:01:04 +0200 Subject: xf86-video-s3c64xx: add accelerated (XAA + Xv) driver for s3c64xx SoCs --- ...64xx-update-for-resources-RAC-API-removal.patch | 54 ++++++++++++++++++++++ ...-was-split-into-dpms.h-client-and-dpmscon.patch | 45 ++++++++++++++++++ ...-include-cursorstr.h-to-get-CursorRec-and.patch | 25 ++++++++++ recipes/xorg-driver/xf86-video-s3c64xx_git.bb | 20 ++++++++ 4 files changed, 144 insertions(+) create mode 100644 recipes/xorg-driver/xf86-video-s3c64xx/0001-s3c64xx-update-for-resources-RAC-API-removal.patch create mode 100644 recipes/xorg-driver/xf86-video-s3c64xx/0002-DPMS-header-was-split-into-dpms.h-client-and-dpmscon.patch create mode 100644 recipes/xorg-driver/xf86-video-s3c64xx/0003-s3c64xx-lcd-include-cursorstr.h-to-get-CursorRec-and.patch create mode 100644 recipes/xorg-driver/xf86-video-s3c64xx_git.bb 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 +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 +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 ++#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 +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 " + + -- cgit v1.2.3