xf86-video-geode: update to 2.11.4.1
authorOtavio Salvador <otavio@ossystems.com.br>
Thu, 17 Sep 2009 15:43:44 +0000 (12:43 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Thu, 17 Sep 2009 17:20:37 +0000 (14:20 -0300)
Since it is a bugfix release we updated from 2.11.2 to 2.11.4.1 and
also set this as preferred version for the distros using the upcoming
Xorg 7.5 release or the 7.4 (updates).

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
conf/checksums.ini
conf/distro/include/preferred-xorg-versions-X11R7.4-updates.inc
conf/distro/include/preferred-xorg-versions-X11R7.5.inc
recipes/xorg-driver/xf86-video-geode/0001-probe-GPIO-device-before-asking-for-base_addr.patch [deleted file]
recipes/xorg-driver/xf86-video-geode/0002-GX-fix-RandR-to-properly-use-dixSetPrivate.patch [deleted file]
recipes/xorg-driver/xf86-video-geode/fixes.patch [new file with mode: 0644]
recipes/xorg-driver/xf86-video-geode_2.11.2.bb [deleted file]
recipes/xorg-driver/xf86-video-geode_2.11.4.1.bb [new file with mode: 0644]

index bf17d0c..0f57d97 100644 (file)
@@ -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
index 6e42065..4acca00 100644 (file)
@@ -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"
index de59bd0..d379483 100644 (file)
@@ -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 (file)
index af267ba..0000000
+++ /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 (file)
index 7408473..0000000
+++ /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 (file)
index 0000000..b581b56
--- /dev/null
@@ -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 (file)
index e98c4fc..0000000
+++ /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 (file)
index 0000000..93f734b
--- /dev/null
@@ -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"