summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini4
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc2
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.5.inc2
-rw-r--r--recipes/xorg-driver/xf86-video-geode/0001-probe-GPIO-device-before-asking-for-base_addr.patch30
-rw-r--r--recipes/xorg-driver/xf86-video-geode/0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch56
-rw-r--r--recipes/xorg-driver/xf86-video-geode/fixes.patch161
-rw-r--r--recipes/xorg-driver/xf86-video-geode_2.11.2.bb9
-rw-r--r--recipes/xorg-driver/xf86-video-geode_2.11.4.1.bb8
8 files changed, 175 insertions, 97 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index bf17d0ce55..0f57d97bec 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -26802,6 +26802,10 @@ sha256=d70c198cde981c3a53b1c41b717dea4bbf1d397d82957f584c641bb5fd02c82d
md5=4c652ecba772f705296b8e52d746857c
sha256=2d252847a410636b55bf80900d9432ca438775f70377ce81311282a2d12853b5
+[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-geode-2.11.4.1.tar.bz2]
+md5=05f85d897ef41d13de354ac0252bf923
+sha256=d739f6762fe3aa7ef7ca74f87fbe4d6ec3bb13a735e5dfb82b6748eda2b31138
+
[http://xorg.freedesktop.org/releases/individual/driver/xf86-video-geode-2.8.0.tar.bz2]
md5=a2b9c70a32b0a6436d837d67fa7aae18
sha256=f0b68171dd4256c927fbee91ecf84fa28c409b5b6b39cbf47eaa48fd73db305f
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc b/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
index 6e42065aed..4acca00174 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
@@ -2,6 +2,6 @@
PREFERRED_VERSION_xserver-xorg ?= "1.5.3"
PREFERRED_VERSION_xf86-input-evdev ?= "2.1.0"
-PREFERRED_VERSION_xf86-video-geode ?= "2.11.2"
+PREFERRED_VERSION_xf86-video-geode ?= "2.11.4.1"
PREFERRED_VERSION_libxi ?= "1.2.0"
PREFERRED_VERSION_inputproto ?= "1.5.0"
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.5.inc b/conf/distro/include/preferred-xorg-versions-X11R7.5.inc
index de59bd07e2..d3794834b9 100644
--- a/conf/distro/include/preferred-xorg-versions-X11R7.5.inc
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.5.inc
@@ -102,7 +102,7 @@ PREFERRED_VERSION_xf86-video-chips ?= "1.2.0"
PREFERRED_VERSION_xf86-video-cirrus ?= "1.2.1"
PREFERRED_VERSION_xf86-video-dummy ?= "0.3.0"
PREFERRED_VERSION_xf86-video-fbdev ?= "0.4.0"
-PREFERRED_VERSION_xf86-video-geode ?= "2.11.2"
+PREFERRED_VERSION_xf86-video-geode ?= "2.11.4.1"
PREFERRED_VERSION_xf86-video-glide ?= "1.0.1"
PREFERRED_VERSION_xf86-video-glint ?= "1.2.1"
PREFERRED_VERSION_xf86-video-i128 ?= "1.3.1"
diff --git a/recipes/xorg-driver/xf86-video-geode/0001-probe-GPIO-device-before-asking-for-base_addr.patch b/recipes/xorg-driver/xf86-video-geode/0001-probe-GPIO-device-before-asking-for-base_addr.patch
deleted file mode 100644
index af267ba269..0000000000
--- a/recipes/xorg-driver/xf86-video-geode/0001-probe-GPIO-device-before-asking-for-base_addr.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 1c70b4d2b70155558a9b5edb79a172696c16e129 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Fri, 22 May 2009 18:02:04 -0300
-Subject: [PATCH] probe GPIO device before asking for base_addr
-
-After finding the PCI ISA device it is required to ask for the
-resources to be read, before we use the base_addr for GPIO.
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- src/geode_ddc.c | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/src/geode_ddc.c b/src/geode_ddc.c
-index 2533488..086dbb1 100644
---- a/src/geode_ddc.c
-+++ b/src/geode_ddc.c
-@@ -72,6 +72,9 @@ geode_gpio_iobase(void)
- if (pci == NULL)
- return 0;
-
-+ if (pci_device_probe(pci) != 0)
-+ return 0;
-+
- /* The GPIO I/O address is in resource 1 */
- return (unsigned short)pci->regions[1].base_addr;
- #else
---
-1.6.3.1.54.g99dd
-
diff --git a/recipes/xorg-driver/xf86-video-geode/0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch b/recipes/xorg-driver/xf86-video-geode/0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch
deleted file mode 100644
index 7408473063..0000000000
--- a/recipes/xorg-driver/xf86-video-geode/0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 312b5ad7a3e1f92abaa113c3e72c8da5cb3e6cb0 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Fri, 22 May 2009 20:40:16 -0300
-Subject: [PATCH 2/2] [GX] fix RandR to properly use dixSetPrivate
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- src/gx_randr.c | 13 +++----------
- 1 files changed, 3 insertions(+), 10 deletions(-)
-
-diff --git a/src/gx_randr.c b/src/gx_randr.c
-index 6cdd244..68e1dbd 100644
---- a/src/gx_randr.c
-+++ b/src/gx_randr.c
-@@ -57,18 +57,13 @@ typedef struct _GXRandRInfo
-
- #define AMD_OLDPRIV (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4)
-
--#if AMD_OLDPRIV
--
- static int GXRandRIndex;
-
-+#if AMD_OLDPRIV
- #define XF86RANDRINFO(p) ((XF86RandRInfoPtr) (p)->devPrivates[GXRandRIndex].ptr)
- #else
--
--static DevPrivateKey GXRandRKey;
--
- #define XF86RANDRINFO(p) ((XF86RandRInfoPtr) \
-- dixLookupPrivate(&(p)->devPrivates, GXRandRKey));
--
-+ dixLookupPrivate(&(p)->devPrivates, GXRandRIndex));
- #endif
-
- static int
-@@ -333,8 +328,6 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
- }
- #if AMD_OLDPRIV
- GXRandRIndex = AllocateScreenPrivateIndex();
--#else
-- GXRandRKey = &GXRandRKey;
- #endif
-
- pRandr = xcalloc(sizeof(XF86RandRInfoRec), 1);
-@@ -363,7 +356,7 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
- #if AMD_OLDPRIV
- pScreen->devPrivates[GXRandRIndex].ptr = pRandr;
- #else
-- dixSetPrivate(&pScreen->devPrivates, GXRandRKey, pRandr);
-+ dixSetPrivate(&pScreen->devPrivates, &GXRandRIndex, pRandr);
- #endif
- return TRUE;
- }
---
-1.6.3.1.54.g99dd
-
diff --git a/recipes/xorg-driver/xf86-video-geode/fixes.patch b/recipes/xorg-driver/xf86-video-geode/fixes.patch
new file mode 100644
index 0000000000..b581b5668c
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-geode/fixes.patch
@@ -0,0 +1,161 @@
+diff --git a/README b/README
+index 8ae3ce7..74f3a9a 100644
+--- a/README
++++ b/README
+@@ -1,6 +1,6 @@
+ AMD Geode GX and LX graphics driver for X.Org
+ =============================================
+-README last updated: 2009-08-04
++README last updated: 2009-09-03
+
+ GIT repository:
+ git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode
+@@ -29,15 +29,23 @@ at which point xf86-video-cyrix and xf86-video-nsc will be retired.
+
+ = Dependencies =
+
+-As of version 2.9.0, this driver depends on X.Org server 1.3 or newer,
++As of version 2.11.4, this driver depends upon X server 1.5 or newer,
++because the GX Randr code utilizes dixSetPrivate whose API was modified
++in a non backward-compatible way.
++
++ #ifdef'ing the changes from f1268f3ba8404129d358db3bb1e66f3841f7018a
++ and b28abde0276ddd7f687242f3886f98b0e49a7fc2 might make it possible
++ to build this driver against older X servers. Patches are welcome.
++
++As of version 2.9.0, this driver depends on X server 1.3 or newer,
+ because it utilizes the new common DDC probing libraries from X.Org.
+
+-If necessary, it might be possible to create autoconf macros to make
+-this driver compile against older X servers, following this example:
++ If necessary, it might be possible to create autoconf macros to make
++ this driver compile against older X servers, following this example:
+
+-http://lists.freedesktop.org/archives/xorg-commit/2007-February/010341.html
++ http://lists.freedesktop.org/archives/xorg-commit/2007-February/010341.html
+
+-Patches accomplishing the same trick for the Geode driver are welcome.
++ Patches accomplishing the same trick for the Geode driver are welcome.
+
+ = FAQ =
+
+diff --git a/src/geode.h b/src/geode.h
+index 4f0b467..8fe67b5 100644
+--- a/src/geode.h
++++ b/src/geode.h
+@@ -60,7 +60,7 @@
+ #define LX 0x20
+
+ #define PCI_VENDOR_ID_CYRIX 0x1078
+-#define PCI_VENDOR_ID_NS 0x100B
++#define PCI_VENDOR_ID_NS 0x100b
+ #define PCI_VENDOR_ID_AMD 0x1022
+
+ #define PCI_CHIP_5530 0x0104
+diff --git a/src/gx_driver.c b/src/gx_driver.c
+index 7ff5418..6f5767d 100644
+--- a/src/gx_driver.c
++++ b/src/gx_driver.c
+@@ -464,7 +464,7 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
+ /* Fill in the monitor information */
+ pScrni->monitor = pScrni->confScreen->monitor;
+
+- if (!xf86SetDepthBpp(pScrni, 16, 16, 16, Support24bppFb | Support32bppFb))
++ if (!xf86SetDepthBpp(pScrni, 24, 16, 32, Support24bppFb | Support32bppFb))
+ return FALSE;
+
+ switch (pScrni->depth) {
+diff --git a/src/gx_randr.c b/src/gx_randr.c
+index 2669912..91ca43e 100644
+--- a/src/gx_randr.c
++++ b/src/gx_randr.c
+@@ -56,15 +56,17 @@ typedef struct _GXRandRInfo
+ Rotation supported_rotations; /* driver supported */
+ } XF86RandRInfoRec, *XF86RandRInfoPtr;
+
+-#define AMD_OLDPRIV (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4)
+-
+ static int GXRandRIndex;
+
+-#if AMD_OLDPRIV
+-#define XF86RANDRINFO(p) ((XF86RandRInfoPtr) (p)->devPrivates[GXRandRIndex].ptr)
++#define OLD_VIDEODRV_INTERFACE (GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 4)
++
++#if OLD_VIDEODRV_INTERFACE
++#define XF86RANDRINFO(p) ((XF86RandRInfoPtr) (p)->devPrivates[GXRandRIndex].ptr)
++#define XF86RANDRSET(p, v) (p)->devPrivates[GXRandRIndex].ptr = v
+ #else
+-#define XF86RANDRINFO(p) ((XF86RandRInfoPtr) \
+- dixLookupPrivate(&(p)->devPrivates, &GXRandRIndex));
++#define XF86RANDRINFO(p) ((XF86RandRInfoPtr) \
++ dixLookupPrivate(&(p)->devPrivates, &GXRandRIndex))
++#define XF86RANDRSET(p, v) dixSetPrivate(&(p)->devPrivates, &GXRandRIndex, v)
+ #endif
+
+ static int
+@@ -327,7 +329,7 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
+ if (GXRandRGeneration != serverGeneration) {
+ GXRandRGeneration = serverGeneration;
+ }
+-#if AMD_OLDPRIV
++#if OLD_VIDEODRV_INTERFACE
+ GXRandRIndex = AllocateScreenPrivateIndex();
+ #endif
+
+@@ -354,10 +356,7 @@ GXRandRInit(ScreenPtr pScreen, int rotation)
+ pRandr->supported_rotations = rotation;
+ pRandr->maxX = pRandr->maxY = 0;
+
+-#if AMD_OLDPRIV
+- pScreen->devPrivates[GXRandRIndex].ptr = pRandr;
+-#else
+- dixSetPrivate(&pScreen->devPrivates, &GXRandRIndex, pRandr);
+-#endif
++ XF86RANDRSET(pScreen, pRandr);
++
+ return TRUE;
+ }
+diff --git a/src/lx_driver.c b/src/lx_driver.c
+index 08d1fdd..79ec15c 100644
+--- a/src/lx_driver.c
++++ b/src/lx_driver.c
+@@ -331,7 +331,7 @@ LXPreInit(ScrnInfoPtr pScrni, int flags)
+ /* Fill in the monitor information */
+ pScrni->monitor = pScrni->confScreen->monitor;
+
+- if (!xf86SetDepthBpp(pScrni, 16, 16, 16, Support24bppFb | Support32bppFb))
++ if (!xf86SetDepthBpp(pScrni, 24, 16, 32, Support24bppFb | Support32bppFb))
+ return FALSE;
+
+ switch (pScrni->depth) {
+diff --git a/src/lx_output.c b/src/lx_output.c
+index 5508477..72e5e2a 100644
+--- a/src/lx_output.c
++++ b/src/lx_output.c
+@@ -108,7 +108,7 @@ lx_output_set_property(xf86OutputPtr output, Atom property,
+
+ if (!ret) {
+ xf86DrvMsg(pScrni->scrnIndex, X_ERROR,
+- "Failed to set mode after propery change!\n");
++ "Failed to set mode after property change!\n");
+
+ pGeode->Scale = scale;
+ return FALSE;
+diff --git a/src/lx_output.c b/src/lx_output.c
+index 72e5e2a..3eecc9e 100644
+--- a/src/lx_output.c
++++ b/src/lx_output.c
+@@ -163,6 +163,13 @@ lx_output_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
+ return MODE_BAD;
+ }
+
++ if (gfx_is_display_mode_supported(pMode->HDisplay,
++ pMode->VDisplay,
++ pScrni->bitsPerPixel,
++ GeodeGetRefreshRate(pMode)) < 0) {
++ return MODE_BAD;
++ }
++
+ return MODE_OK;
+ }
+
diff --git a/recipes/xorg-driver/xf86-video-geode_2.11.2.bb b/recipes/xorg-driver/xf86-video-geode_2.11.2.bb
deleted file mode 100644
index e98c4fce09..0000000000
--- a/recipes/xorg-driver/xf86-video-geode_2.11.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require xorg-driver-video.inc
-PE = "1"
-
-COMPATIBLE_HOST = 'i.86.*-linux'
-DESCRIPTION = "X.org server -- Geode GX2/LX display driver"
-
-SRC_URI += "file://0001-probe-GPIO-device-before-asking-for-base_addr.patch;patch=1 \
- file://0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch;patch=1 \
- "
diff --git a/recipes/xorg-driver/xf86-video-geode_2.11.4.1.bb b/recipes/xorg-driver/xf86-video-geode_2.11.4.1.bb
new file mode 100644
index 0000000000..93f734b989
--- /dev/null
+++ b/recipes/xorg-driver/xf86-video-geode_2.11.4.1.bb
@@ -0,0 +1,8 @@
+require xorg-driver-video.inc
+PE = "1"
+PR = "r1"
+
+COMPATIBLE_HOST = 'i.86.*-linux'
+DESCRIPTION = "X.org server -- Geode GX2/LX display driver"
+
+SRC_URI += "file://fixes.patch;patch=1"