[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#544988: xserver-xorg-core: [patch] [1.4.x] [1.6.x] add AutoConfig support for all Geode variants



Package: xserver-xorg-core
Severity: important
Tags: patch

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Please find attached patches to implement AutoConfig for all Geode variants 
on X servers 1.4.x and 1.6.x.

You're welcome to make adjustments to them as necessary.

- -- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-020630-generic (SMP w/1 CPU core)
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages xserver-xorg-core depends on:
ii  libc6                         2.9-25     GNU C Library: Shared libraries
pn  libdbus-1-3                   <none>     (no description available)
pn  libdrm2                       <none>     (no description available)
ii  libfontenc1                   1:1.0.4-3  X11 font encoding library
ii  libgcc1                       1:4.4.1-1  GCC support library
pn  libhal1                       <none>     (no description available)
ii  libpixman-1-0                 0.14.0-1   pixel-manipulation library for X a
ii  libxau6                       1:1.0.4-2  X11 authorisation library
ii  libxdmcp6                     1:1.0.2-3  X11 Display Manager Control Protoc
ii  libxfont1                     1:1.4.0-1  X11 font rasterisation library
ii  x11-common                    1:7.3+19   X Window System (X.Org) infrastruc
pn  xserver-xorg                  <none>     (no description available)

Versions of packages xserver-xorg-core recommends:
pn  xfonts-base                   <none>     (no description available)
pn  xkb-data                      <none>     (no description available)

Versions of packages xserver-xorg-core suggests:
pn  xfonts-100dpi | xfonts-75dpi  <none>     (no description available)
pn  xfonts-scalable               <none>     (no description available)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkqg2RgACgkQeXr56x4Muc3CIwCfSOWeWEVCnHMmdLvpdlm/pM15
9nYAn0FvoCYGVoET/CbdA8p7gTlqHoZ5
=N9LZ
-----END PGP SIGNATURE-----
--- a/hw/xfree86/common/xf86AutoConfig.c	2008-02-01 05:31:28.000000000 +0200
+++ b/hw/xfree86/common/xf86AutoConfig.c	2009-09-04 02:12:20.000000000 +0300
@@ -160,12 +160,30 @@ videoPtrToDriverName(pciVideoPtr info)
 {
     /*
      * things not handled yet:
-     * amd/cyrix/nsc
      * xgi
      */
-
     switch (info->vendor)
     {
+	/* AMD Geode LX */
+ 	case 0x1022:
+ 		if (info->chipType == 0x2081)
+			return "geode";
+ 		else
+ 			return NULL;
+	/* older Geode products acquired by AMD but still carrying an NSC vendor_id */
+	case 0x100B:
+		if (info->chipType == 0x0030)
+			/* NSC Geode GX2 specifically or... */
+			return "geode";
+		else
+			/* ... any kind of NSC Geode SC variant */
+			return "nsc";
+ 	/* Cyrix Geode GX1 */
+	case 0x1078:
+ 		if (info->chipType == 0x0104)
+			return "cyrix";
+ 		else
+ 			return NULL;
 	case 0x1142:		    return "apm";
 	case 0xedd8:		    return "ark";
 	case 0x1a03:		    return "ast";
--- a/hw/xfree86/common/xf86AutoConfig.c	2009-07-07 20:48:58.000000000 +0300
+++ b/hw/xfree86/common/xf86AutoConfig.c	2009-09-04 00:32:08.000000000 +0300
@@ -158,10 +158,25 @@ videoPtrToDriverList(struct pci_device *
     {
+	/* AMD Geode LX */
 	case 0x1022:
 	    if (dev->device_id == 0x2081) {
 		driverList[0] = "geode";
-		driverList[1] = "amd";
 	    }
 	    break;
+	/* older Geode products acquired by AMD but still carrying an NSC vendor_id */
+	case 0x100B:
+	    if (dev->device_id == 0x0030) {
+		/* NSC Geode GX2 specifically or... */
+		driverList[0] = "geode";
+		driverList[1] = "nsc";
+	    } else 
+		/* ... any kind of NSC Geode SC variant */
+		driverList[0] = "nsc";
+	    break;
+	/* Cyrix Geode GX1 */
+	case 0x1078:
+	    if (dev->device_id == 0x0104)
+		driverList[0] = "cyrix";
+	    break;
 	case 0x1142:		    driverList[0] = "apm"; break;
 	case 0xedd8:		    driverList[0] = "ark"; break;
 	case 0x1a03:		    driverList[0] = "ast"; break;

Reply to: