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: