xserver-xorg-video-nv: Changes to 'debian-unstable'
ChangeLog | 55 +++++++++
configure.ac | 2
debian/changelog | 8 +
debian/xserver-xorg-video-nv.install | 1
src/g80_display.c | 95 ++++++++++++++--
src/g80_driver.c | 59 ----------
src/g80_output.c | 22 +++
src/g80_type.h | 2
src/nv_driver.c | 198 +++++++++--------------------------
src/riva_driver.c | 108 -------------------
10 files changed, 221 insertions(+), 329 deletions(-)
New commits:
commit d520933ea82b6e86157de26f58f2894c1c13bf6d
Author: Brice Goglin <bgoglin@debian.org>
Date: Sun Jul 19 21:58:51 2009 +0200
Prepare changelog for upload
diff --git a/debian/changelog b/debian/changelog
index 3645f15..823a068 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xserver-xorg-video-nv (1:2.1.14-1) UNRELEASED; urgency=low
+xserver-xorg-video-nv (1:2.1.14-1) unstable; urgency=low
[ David Nusinow ]
* Remove 01_gen_pci_ids.diff. The X server now uses an internal table to
@@ -8,7 +8,7 @@ xserver-xorg-video-nv (1:2.1.14-1) UNRELEASED; urgency=low
[ Brice Goglin ]
* New upstream release.
- -- Brice Goglin <bgoglin@debian.org> Sun, 19 Jul 2009 21:57:50 +0200
+ -- Brice Goglin <bgoglin@debian.org> Sun, 19 Jul 2009 21:58:45 +0200
xserver-xorg-video-nv (1:2.1.13-1) unstable; urgency=low
commit 403226fb5a48cfd7f350e739904c475fd124c538
Author: Brice Goglin <bgoglin@debian.org>
Date: Sun Jul 19 22:02:47 2009 +0200
Don't try to install usr/share/xserver-xorg/pci/* anymore
diff --git a/debian/xserver-xorg-video-nv.install b/debian/xserver-xorg-video-nv.install
index 8a9f4ba..614cfb4 100644
--- a/debian/xserver-xorg-video-nv.install
+++ b/debian/xserver-xorg-video-nv.install
@@ -1,3 +1,2 @@
usr/lib/xorg/modules/drivers/*.so
usr/share/man/man4/*
-usr/share/xserver-xorg/pci/*
commit fdbac4081f75f436ab3ba9576e225e149751e6d8
Author: Brice Goglin <bgoglin@debian.org>
Date: Sun Jul 19 21:58:41 2009 +0200
New upstream release
diff --git a/ChangeLog b/ChangeLog
index d91d56d..be2cfc4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,58 @@
+commit c56b92149c6291e7ef96b30a4fc7bee30073b90c
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Thu Jul 2 12:03:13 2009 -0700
+
+ Bump to 2.1.14
+
+commit 05d2b851b96c2f1b3223f8d5f40b8ee074e5f23f
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Fri Jun 26 17:53:53 2009 -0700
+
+ More new chips
+
+commit 68c2914f1775541784e6cf88019960342d8433bc
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Fri Jun 12 17:34:43 2009 -0700
+
+ Fix modesets on certain GPUs that were broken by the previous commit.
+
+commit 36eb96854b34bee6b65a2b2d4df25f53b47194e4
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Wed Jun 10 18:49:32 2009 -0700
+
+ New chip support.
+
+ Part of the G80DispPreInit change suggested by <shenyn321@hotmail.com>.
+
+commit 23ca1b0d4324ae65a0c2a39cc877d318063988b1
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu May 28 15:11:20 2009 -0400
+
+ Remove useless loader symbol lists.
+
+commit c8d6f7aa7c99a1b71289f8e8e07becc10f61f379
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Fri May 15 16:24:57 2009 -0700
+
+ More chip names.
+
+ Add support for the following previously unsupported chips:
+ * 0x0658 - Quadro FX 380
+ * 0x0659 - Quadro FX 580
+ * 0x065C - Quadro FX 770M
+
+commit 29acf7c970d12c1dfd7bf6c7a42fe2448aa7f3d7
+Author: Yinan Shen <shenyn321@gmail.com>
+Date: Wed May 6 19:14:33 2009 -0700
+
+ G80: Fix incorrect I2C port access for ports above 3.
+
+commit bf18cd4842c33df61b03c3d4e0f00e34485fb957
+Author: Aaron Plattner <aplattner@nvidia.com>
+Date: Tue May 5 01:29:08 2009 -0700
+
+ Fix a dumb typo in the chip name entry for the GeForce 9800 GTX+
+
commit df87eaf191209b0f1619ea74dc9fb0314b6fd288
Author: Adam Jackson <ajax@redhat.com>
Date: Tue Apr 7 13:40:36 2009 -0400
diff --git a/debian/changelog b/debian/changelog
index ab55273..3645f15 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,14 @@
-xserver-xorg-video-nv (1:2.1.13-2) UNRELEASED; urgency=low
+xserver-xorg-video-nv (1:2.1.14-1) UNRELEASED; urgency=low
+ [ David Nusinow ]
* Remove 01_gen_pci_ids.diff. The X server now uses an internal table to
choose a driver during autoconfiguration.
+ Disable patch system and remove quilt from build-deps.
- -- David Nusinow <dnusinow@debian.org> Mon, 04 May 2009 22:27:31 -0400
+ [ Brice Goglin ]
+ * New upstream release.
+
+ -- Brice Goglin <bgoglin@debian.org> Sun, 19 Jul 2009 21:57:50 +0200
xserver-xorg-video-nv (1:2.1.13-1) unstable; urgency=low
commit c56b92149c6291e7ef96b30a4fc7bee30073b90c
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Thu Jul 2 12:03:13 2009 -0700
Bump to 2.1.14
diff --git a/configure.ac b/configure.ac
index bd26111..e67a1ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
AC_PREREQ(2.57)
AC_INIT([xf86-video-nv],
- 2.1.13,
+ 2.1.14,
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
xf86-video-nv)
commit 05d2b851b96c2f1b3223f8d5f40b8ee074e5f23f
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri Jun 26 17:53:53 2009 -0700
More new chips
diff --git a/src/nv_driver.c b/src/nv_driver.c
index d1f4c24..3a396e0 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -729,6 +729,7 @@ NVIsG80(int chipType)
case 0x06f0:
case 0x0a60:
case 0x0a70:
+ case 0x0ca0:
return TRUE;
}
commit 68c2914f1775541784e6cf88019960342d8433bc
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri Jun 12 17:34:43 2009 -0700
Fix modesets on certain GPUs that were broken by the previous commit.
diff --git a/src/g80_display.c b/src/g80_display.c
index 1b1efe9..3cbaac3 100644
--- a/src/g80_display.c
+++ b/src/g80_display.c
@@ -208,7 +208,9 @@ G80CrtcSetPClk(xf86CrtcPtr crtc)
if(pPriv->pclk == 0)
return;
- if(pNv->architecture < 0xa0) {
+ if(pNv->architecture <= 0xa0 ||
+ pNv->architecture == 0xaa ||
+ pNv->architecture == 0xac) {
int lo_n, lo_m, hi_n, hi_m, p, i;
CARD32 lo = pNv->reg[(0x00614104+headOff)/4];
CARD32 hi = pNv->reg[(0x00614108+headOff)/4];
commit 36eb96854b34bee6b65a2b2d4df25f53b47194e4
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Wed Jun 10 18:49:32 2009 -0700
New chip support.
Part of the G80DispPreInit change suggested by <shenyn321@hotmail.com>.
diff --git a/src/g80_display.c b/src/g80_display.c
index cf4631d..1b1efe9 100644
--- a/src/g80_display.c
+++ b/src/g80_display.c
@@ -146,26 +146,95 @@ G80CalcPLL(float pclk, int *pNA, int *pMA, int *pNB, int *pMB, int *pP)
}
static void
+G80CalcPLL2(float pclk, int *pN, int *pM, int *pPL)
+{
+ const float refclk = 27000.0f;
+ const int minN = 8, maxN = 255;
+ const int minM = 1, maxM = 255;
+ const int minPL = 1, maxPL = 63;
+ const int minU = 25000, maxU = 50000;
+ const int minVco = 500000;
+ int maxVco = 1000000;
+ int lowPL, highPL, pl;
+ float vco, bestError = FLT_MAX;
+
+ vco = pclk + pclk / 50;
+
+ if(maxVco < vco) maxVco = vco;
+
+ highPL = (maxVco + vco - 1) / pclk;
+ if(highPL > maxPL) highPL = maxPL;
+ if(highPL < minPL) highPL = minPL;
+
+ lowPL = minVco / vco;
+ if(lowPL > maxPL) lowPL = maxPL;
+ if(lowPL < minPL) lowPL = minPL;
+
+ for(pl = highPL; pl >= lowPL; pl--) {
+ int m;
+
+ for(m = minM; m <= maxM; m++) {
+ int n;
+ float freq, error;
+
+ if(refclk / m < minU) break;
+ if(refclk / m > maxU) continue;
+
+ n = rint(pclk * pl * m / refclk);
+ if(n > maxN) break;
+ if(n < minN) continue;
+
+ freq = refclk * (n / (float)m) / pl;
+ error = fabsf(pclk - freq);
+ if(error < bestError) {
+ *pN = n;
+ *pM = m;
+ *pPL = pl;
+ bestError = error;
+ }
+ }
+ }
+}
+
+static void
G80CrtcSetPClk(xf86CrtcPtr crtc)
{
G80Ptr pNv = G80PTR(crtc->scrn);
G80CrtcPrivPtr pPriv = crtc->driver_private;
xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
const int headOff = 0x800 * pPriv->head;
- int lo_n, lo_m, hi_n, hi_m, p, i;
- CARD32 lo = pNv->reg[(0x00614104+headOff)/4];
- CARD32 hi = pNv->reg[(0x00614108+headOff)/4];
+ int i;
+
+ if(pPriv->pclk == 0)
+ return;
+
+ if(pNv->architecture < 0xa0) {
+ int lo_n, lo_m, hi_n, hi_m, p, i;
+ CARD32 lo = pNv->reg[(0x00614104+headOff)/4];
+ CARD32 hi = pNv->reg[(0x00614108+headOff)/4];
+
+ pNv->reg[(0x00614100+headOff)/4] = 0x10000610;
+ lo &= 0xff00ff00;
+ hi &= 0x8000ff00;
- pNv->reg[(0x00614100+headOff)/4] = 0x10000610;
- lo &= 0xff00ff00;
- hi &= 0x8000ff00;
+ G80CalcPLL(pPriv->pclk, &lo_n, &lo_m, &hi_n, &hi_m, &p);
- G80CalcPLL(pPriv->pclk, &lo_n, &lo_m, &hi_n, &hi_m, &p);
+ lo |= (lo_m << 16) | lo_n;
+ hi |= (p << 28) | (hi_m << 16) | hi_n;
+ pNv->reg[(0x00614104+headOff)/4] = lo;
+ pNv->reg[(0x00614108+headOff)/4] = hi;
+ } else {
+ int n, m, pl;
+ CARD32 r = pNv->reg[(0x00614104+headOff)/4];
+
+ pNv->reg[(0x00614100+headOff)/4] = 0x50000610;
+ r &= 0xffc00000;
- lo |= (lo_m << 16) | lo_n;
- hi |= (p << 28) | (hi_m << 16) | hi_n;
- pNv->reg[(0x00614104+headOff)/4] = lo;
- pNv->reg[(0x00614108+headOff)/4] = hi;
+ G80CalcPLL2(pPriv->pclk, &n, &m, &pl);
+ r |= pl << 16 | m << 8 | n;
+
+ pNv->reg[(0x00614104+headOff)/4] = r;
+ }
pNv->reg[(0x00614200+headOff)/4] = 0;
for(i = 0; i < xf86_config->num_output; i++) {
@@ -235,6 +304,8 @@ G80DispPreInit(ScrnInfoPtr pScrn)
pNv->reg[0x006101D8/4] = pNv->reg[0x0061B000/4];
pNv->reg[0x006101E0/4] = pNv->reg[0x0061C000/4];
pNv->reg[0x006101E4/4] = pNv->reg[0x0061C800/4];
+ pNv->reg[0x006101E8/4] = pNv->reg[0x0061D000/4];
+ pNv->reg[0x006101EC/4] = pNv->reg[0x0061D800/4];
pNv->reg[0x0061A004/4] = 0x80550000;
pNv->reg[0x0061A010/4] = 0x00000001;
pNv->reg[0x0061A804/4] = 0x80550000;
diff --git a/src/g80_output.c b/src/g80_output.c
index 75bf7ba..b2d8b07 100644
--- a/src/g80_output.c
+++ b/src/g80_output.c
@@ -127,6 +127,11 @@ static Bool G80ReadPortMapping(int scrnIndex, G80Ptr pNv)
"VGA%d: invalid port type %d\n", or, portType);
break;
}
+ if(port >= G80_NUM_I2C_PORTS) {
+ xf86DrvMsg(scrnIndex, X_WARNING,
+ "VGA%d: unrecognized port %d\n", or, port);
+ break;
+ }
if(pNv->i2cMap[port].dac != -1) {
xf86DrvMsg(scrnIndex, X_WARNING,
"DDC routing table corrupt! DAC %i -> %i for "
@@ -152,6 +157,11 @@ static Bool G80ReadPortMapping(int scrnIndex, G80Ptr pNv)
"DVI%d: invalid port type %d\n", or, portType);
break;
}
+ if(port >= G80_NUM_I2C_PORTS) {
+ xf86DrvMsg(scrnIndex, X_WARNING,
+ "DVI%d: unrecognized port %d\n", or, port);
+ break;
+ }
if(pNv->i2cMap[port].sor != -1)
xf86DrvMsg(scrnIndex, X_WARNING,
"DDC routing table corrupt! SOR %i -> %i for "
@@ -181,6 +191,11 @@ static Bool G80ReadPortMapping(int scrnIndex, G80Ptr pNv)
"LVDS: invalid port type %d\n", portType);
break;
}
+ if(port >= G80_NUM_I2C_PORTS) {
+ xf86DrvMsg(scrnIndex, X_WARNING,
+ "LVDS: unrecognized port %d\n", port);
+ break;
+ }
pNv->lvds.i2cPort = port;
break;
@@ -217,9 +232,11 @@ fail:
static CARD32 i2cAddr(const int port)
{
- const CARD32 base = (port > 3) ? 0x0000E1D4 : 0x0000E138;
- const CARD32 offset = (port > 3) ? 0x20 : 0x18;
- return base + port * offset;
+ const CARD32 addrs[G80_NUM_I2C_PORTS] = {
+ 0xE138, 0xE150, 0xE168, 0xE180, 0xE254, 0xE274, 0xE764, 0xE780, 0xE79C,
+ 0xE7B8
+ };
+ return addrs[port];
}
static void G80_I2CPutBits(I2CBusPtr b, int clock, int data)
diff --git a/src/g80_type.h b/src/g80_type.h
index 0cebae7..9bb07a4 100644
--- a/src/g80_type.h
+++ b/src/g80_type.h
@@ -7,7 +7,7 @@
#include <xf86Crtc.h>
#include <xf86int10.h>
-#define G80_NUM_I2C_PORTS 6
+#define G80_NUM_I2C_PORTS 10
typedef enum Head {
HEAD0 = 0,
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 41840dd..d1f4c24 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -727,6 +727,8 @@ NVIsG80(int chipType)
case 0x0650:
case 0x06e0:
case 0x06f0:
+ case 0x0a60:
+ case 0x0a70:
return TRUE;
}
commit 23ca1b0d4324ae65a0c2a39cc877d318063988b1
Author: Adam Jackson <ajax@redhat.com>
Date: Thu May 28 15:11:20 2009 -0400
Remove useless loader symbol lists.
diff --git a/src/g80_driver.c b/src/g80_driver.c
index ad8a424..5ecf895 100644
--- a/src/g80_driver.c
+++ b/src/g80_driver.c
@@ -51,56 +51,6 @@
#define G80_REG_SIZE (1024 * 1024 * 16)
#define G80_RESERVED_VIDMEM 0xd000
-static const char *fbSymbols[] = {
- "fbPictureInit",
- "fbScreenInit",
- NULL
-};
-
-static const char *xaaSymbols[] = {
- "XAACopyROP",
- "XAACreateInfoRec",
- "XAADestroyInfoRec",
- "XAAFallbackOps",
- "XAAInit",
- "XAAPatternROP",
- NULL
-};
-
-static const char *exaSymbols[] = {
- "exaDriverAlloc",
- "exaDriverInit",
- "exaDriverFini",
- NULL
-};
-
-static const char *i2cSymbols[] = {
- "xf86CreateI2CBusRec",
- "xf86I2CBusInit",
- NULL
-};
-
-static const char *ramdacSymbols[] = {
- "xf86CreateCursorInfoRec",
- "xf86DestroyCursorInfoRec",
- "xf86InitCursor",
- NULL
-};
-
-static const char *ddcSymbols[] = {
- "xf86PrintEDID",
- "xf86DoEDID_DDC2",
- "xf86SetDDCproperties",
- NULL
-};
-
-static const char *int10Symbols[] = {
- "xf86FreeInt10",
- "xf86InitInt10",
- "xf86ExecX86int10",
- NULL
-};
-
typedef enum {
OPTION_HW_CURSOR,
OPTION_NOACCEL,
@@ -243,7 +193,6 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
pNv->int10 = NULL;
pNv->int10Mode = 0;
if(xf86LoadSubModule(pScrn, "int10")) {
- xf86LoaderReqSymLists(int10Symbols, NULL);
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n");
pNv->int10 = xf86InitInt10(pEnt->index);
}
@@ -434,7 +383,6 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
if(!xf86LoadSubModule(pScrn, "i2c")) goto fail;
if(!xf86LoadSubModule(pScrn, "ddc")) goto fail;
- xf86LoaderReqSymLists(i2cSymbols, ddcSymbols, NULL);
if(!G80DispPreInit(pScrn)) goto fail;
/* Read the DDC routing table and create outputs */
@@ -465,17 +413,14 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
/* Load fb */
if(!xf86LoadSubModule(pScrn, "fb")) goto fail;
- xf86LoaderReqSymLists(fbSymbols, NULL);
if(!pNv->NoAccel) {
switch(pNv->AccelMethod) {
case XAA:
if(!xf86LoadSubModule(pScrn, "xaa")) goto fail;
- xf86LoaderReqSymLists(xaaSymbols, NULL);
break;
case EXA:
if(!xf86LoadSubModule(pScrn, "exa")) goto fail;
- xf86LoaderReqSymLists(exaSymbols, NULL);
break;
}
}
@@ -486,9 +431,7 @@ G80PreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to load ramdac. "
"Falling back to software cursor.\n");
pNv->HWCursor = FALSE;
- } else {
- xf86LoaderReqSymLists(ramdacSymbols, NULL);
- }
+ }
}
return TRUE;
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 5f0a5b4..41840dd 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -487,123 +487,6 @@ static SymTabRec NVKnownChipsets[] =
{-1, NULL}
};
-
-/*
- * List of symbols from other modules that this module references. This
- * list is used to tell the loader that it is OK for symbols here to be
- * unresolved providing that it hasn't been told that they haven't been
- * told that they are essential via a call to xf86LoaderReqSymbols() or
- * xf86LoaderReqSymLists(). The purpose is this is to avoid warnings about
- * unresolved symbols that are not required.
- */
-
-static const char *vgahwSymbols[] = {
- "vgaHWUnmapMem",
- "vgaHWDPMSSet",
- "vgaHWFreeHWRec",
- "vgaHWGetHWRec",
- "vgaHWGetIndex",
- "vgaHWInit",
- "vgaHWMapMem",
- "vgaHWProtect",
- "vgaHWRestore",
- "vgaHWSave",
- "vgaHWSaveScreen",
- NULL
-};
-
-static const char *fbSymbols[] = {
- "fbPictureInit",
- "fbScreenInit",
- NULL
-};
-
-static const char *xaaSymbols[] = {
- "XAACopyROP",
- "XAACreateInfoRec",
- "XAADestroyInfoRec",
- "XAAFallbackOps",
- "XAAInit",
- "XAAPatternROP",
- NULL
-};
-
-static const char *ramdacSymbols[] = {
- "xf86CreateCursorInfoRec",
- "xf86DestroyCursorInfoRec",
- "xf86InitCursor",
- NULL
-};
-
-static const char *ddcSymbols[] = {
- "xf86PrintEDID",
- "xf86DoEDID_DDC2",
- "xf86SetDDCproperties",
- NULL
-};
-
-#ifdef XFree86LOADER
-static const char *vbeSymbols[] = {
- "VBEInit",
- "vbeFree",
- "vbeDoEDID",
- NULL
-};
-
-static const char *vbeModeSymbols[] = {
- "VBEExtendedInit",
- "VBEGetVBEInfo",
- "VBEGetModePool",
- "VBEValidateModes",
- "VBESetModeParameters",
- "VBEGetVBEMode",
- "VBESetVBEMode",
- NULL
-};
-#endif
-
-static const char *i2cSymbols[] = {
- "xf86CreateI2CBusRec",
- "xf86I2CBusInit",
- NULL
-};
-
-static const char *shadowSymbols[] = {
- "ShadowFBInit",
- NULL
-};
-
-static const char *fbdevHWSymbols[] = {
- "fbdevHWInit",
- "fbdevHWUseBuildinMode",
-
- "fbdevHWGetVidmem",
-
- /* colormap */
- "fbdevHWLoadPaletteWeak",
-
- /* ScrnInfo hooks */
- "fbdevHWAdjustFrameWeak",
- "fbdevHWEnterVT",
- "fbdevHWLeaveVTWeak",
- "fbdevHWModeInit",
- "fbdevHWSave",
- "fbdevHWSwitchModeWeak",
- "fbdevHWValidModeWeak",
-
- "fbdevHWMapMMIO",
- "fbdevHWMapVidmem",
-
- NULL
-};
-
-static const char *int10Symbols[] = {
- "xf86FreeInt10",
- "xf86InitInt10",
- NULL
-};
-
-
#ifdef XFree86LOADER
static MODULESETUPPROTO(nvSetup);
@@ -714,20 +597,6 @@ nvSetup(pointer module, pointer opts, int *errmaj, int *errmin)
);
/*
- * Modules that this driver always requires may be loaded here
- * by calling LoadSubModule().
- */
-
- /*
- * Tell the loader about symbols from other modules that this module
- * might refer to.
- */
- LoaderRefSymLists(vgahwSymbols, xaaSymbols, fbSymbols,
- ramdacSymbols, shadowSymbols,
- i2cSymbols, ddcSymbols, vbeSymbols,
- fbdevHWSymbols, int10Symbols, NULL);
-
- /*
* The return value must be non-NULL on success even though there
* is no TearDownProc.
*/
@@ -1285,11 +1154,9 @@ Bool NVI2CInit(ScrnInfoPtr pScrn)
char *mod = "i2c";
if (xf86LoadSubModule(pScrn, mod)) {
- xf86LoaderReqSymLists(i2cSymbols,NULL);
mod = "ddc";
if(xf86LoadSubModule(pScrn, mod)) {
- xf86LoaderReqSymLists(ddcSymbols, NULL);
return NVDACi2cInit(pScrn);
}
}
@@ -1388,7 +1255,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
/* Initialize the card through int10 interface if needed */
if (xf86LoadSubModule(pScrn, "int10")) {
- xf86LoaderReqSymLists(int10Symbols, NULL);
#if !defined(__alpha__) && !defined(__powerpc__)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n");
pNv->pInt = xf86InitInt10(pNv->pEnt->index);
@@ -1524,8 +1390,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(vgahwSymbols, NULL);
-
/*
* Allocate a vgaHWRec
*/
@@ -1594,7 +1458,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(fbdevHWSymbols, NULL);
if (!fbdevHWInit(pScrn, pNv->PciInfo, NULL)) {
xf86FreeInt10(pNv->pInt);
return FALSE;
@@ -1702,7 +1565,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
"enabled.\n");
return FALSE;
}
- xf86LoaderReqSymLists(vbeModeSymbols, NULL);
pNv->pVbe = VBEExtendedInit(NULL, pNv->pEnt->index,
SET_BIOS_SCRATCH | RESTORE_BIOS_SCRATCH);
if (!pNv->pVbe) return FALSE;
@@ -2034,8 +1896,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(fbSymbols, NULL);
-
/* Load XAA if needed */
if (!pNv->NoAccel) {
if (!xf86LoadSubModule(pScrn, "xaa")) {
@@ -2043,7 +1903,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
NVFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(xaaSymbols, NULL);
}
/* Load ramdac if needed */
@@ -2053,7 +1912,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
NVFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(ramdacSymbols, NULL);
}
/* Load shadowfb if needed */
@@ -2063,7 +1921,6 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
NVFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(shadowSymbols, NULL);
}
pNv->CurrentLayout.bitsPerPixel = pScrn->bitsPerPixel;
diff --git a/src/riva_driver.c b/src/riva_driver.c
index b021749..3540fe9 100644
--- a/src/riva_driver.c
+++ b/src/riva_driver.c
@@ -60,103 +60,6 @@ static void RivaRestore(ScrnInfoPtr pScrn);
static Bool RivaModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
-/*
- * List of symbols from other modules that this module references. This
- * list is used to tell the loader that it is OK for symbols here to be
- * unresolved providing that it hasn't been told that they haven't been
- * told that they are essential via a call to xf86LoaderReqSymbols() or
- * xf86LoaderReqSymLists(). The purpose is this is to avoid warnings about
- * unresolved symbols that are not required.
- */
-
-static const char *vgahwSymbols[] = {
- "vgaHWUnmapMem",
- "vgaHWDPMSSet",
- "vgaHWFreeHWRec",
- "vgaHWGetHWRec",
- "vgaHWGetIndex",
- "vgaHWInit",
- "vgaHWMapMem",
- "vgaHWProtect",
- "vgaHWRestore",
- "vgaHWSave",
- "vgaHWSaveScreen",
- NULL
-};
-
-static const char *fbSymbols[] = {
- "fbPictureInit",
- "fbScreenInit",
- NULL
-};
-
-static const char *xaaSymbols[] = {
- "XAAGetCopyROP",
- "XAACreateInfoRec",
- "XAADestroyInfoRec",
- "XAAGetFallbackOps",
- "XAAInit",
- "XAAGetPatternROP",
- NULL
-};
-
-static const char *ramdacSymbols[] = {
- "xf86CreateCursorInfoRec",
- "xf86DestroyCursorInfoRec",
- "xf86InitCursor",
- NULL
-};
-
-static const char *ddcSymbols[] = {
- "xf86PrintEDID",
- "xf86DoEDID_DDC2",
- "xf86SetDDCproperties",
- NULL
-};
-
-static const char *i2cSymbols[] = {
- "xf86CreateI2CBusRec",
- "xf86I2CBusInit",
- NULL
-};
-
-static const char *shadowSymbols[] = {
- "ShadowFBInit",
- NULL
-};
-
-static const char *fbdevHWSymbols[] = {
- "fbdevHWInit",
- "fbdevHWUseBuildinMode",
-
- "fbdevHWGetVidmem",
-
- /* colormap */
- "fbdevHWLoadPaletteWeak",
-
- /* ScrnInfo hooks */
- "fbdevHWAdjustFrameWeak",
- "fbdevHWEnterVT",
- "fbdevHWLeaveVTWeak",
- "fbdevHWModeInit",
- "fbdevHWSave",
- "fbdevHWSwitchModeWeak",
- "fbdevHWValidModeWeak",
-
- "fbdevHWMapMMIO",
- "fbdevHWMapVidmem",
-
- NULL
-};
-
-static const char *int10Symbols[] = {
- "xf86FreeInt10",
- "xf86InitInt10",
- NULL
-};
-
-
-
typedef enum {
OPTION_SW_CURSOR,
OPTION_HW_CURSOR,
@@ -412,11 +315,9 @@ Bool RivaI2CInit(ScrnInfoPtr pScrn)
char *mod = "i2c";
if (xf86LoadSubModule(pScrn, mod)) {
- xf86LoaderReqSymLists(i2cSymbols,NULL);
mod = "ddc";
if(xf86LoadSubModule(pScrn, mod)) {
- xf86LoaderReqSymLists(ddcSymbols, NULL);
return RivaDACi2cInit(pScrn);
}
}
@@ -489,7 +390,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
/* Initialize the card through int10 interface if needed */
if (xf86LoadSubModule(pScrn, "int10")) {
- xf86LoaderReqSymLists(int10Symbols, NULL);
#if !defined(__alpha__)
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Initializing int10\n");
pRiva->pInt = xf86InitInt10(pRiva->pEnt->index);
@@ -575,8 +475,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(vgahwSymbols, NULL);
-
/*
* Allocate a vgaHWRec
*/
@@ -643,7 +541,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(fbdevHWSymbols, NULL);
if (!fbdevHWInit(pScrn, pRiva->PciInfo, NULL)) {
xf86FreeInt10(pRiva->pInt);
return FALSE;
@@ -866,8 +763,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
- xf86LoaderReqSymLists(fbSymbols, NULL);
-
/* Load XAA if needed */
if (!pRiva->NoAccel) {
if (!xf86LoadSubModule(pScrn, "xaa")) {
@@ -875,7 +770,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
RivaFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(xaaSymbols, NULL);
}
/* Load ramdac if needed */
@@ -885,7 +779,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
RivaFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(ramdacSymbols, NULL);
}
/* Load shadowfb if needed */
@@ -895,7 +788,6 @@ RivaPreInit(ScrnInfoPtr pScrn, int flags)
RivaFreeRec(pScrn);
return FALSE;
}
- xf86LoaderReqSymLists(shadowSymbols, NULL);
}
pRiva->CurrentLayout.bitsPerPixel = pScrn->bitsPerPixel;
commit c8d6f7aa7c99a1b71289f8e8e07becc10f61f379
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri May 15 16:24:57 2009 -0700
More chip names.
Add support for the following previously unsupported chips:
* 0x0658 - Quadro FX 380
* 0x0659 - Quadro FX 580
* 0x065C - Quadro FX 770M
diff --git a/src/nv_driver.c b/src/nv_driver.c
index 223ac8e..5f0a5b4 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -124,7 +124,7 @@ _X_EXPORT DriverRec NV = {
#endif
};
-/* Known cards as of 2008/08/26 */
+/* Known cards as of 2009/05/15 */
static SymTabRec NVKnownChipsets[] =
{
@@ -288,6 +288,7 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0147, "GeForce 6700 XL" },
{ 0x10DE0148, "GeForce Go 6600" },
{ 0x10DE0149, "GeForce Go 6600 GT" },
+ { 0x10DE014A, "Quadro NVS 440" },
{ 0x10DE014C, "Quadro FX 550" },
{ 0x10DE014D, "Quadro FX 550" },
{ 0x10DE014E, "Quadro FX 540" },
@@ -322,6 +323,7 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0099, "GeForce Go 7800 GTX" },
{ 0x10DE009D, "Quadro FX 4500" },
+ { 0x10DE01D0, "GeForce 7350 LE" },
{ 0x10DE01D1, "GeForce 7300 LE" },
{ 0x10DE01D3, "GeForce 7300 SE" },
{ 0x10DE01D6, "GeForce Go 7200" },
@@ -335,6 +337,7 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE01DE, "Quadro FX 350" },
{ 0x10DE01DF, "GeForce 7300 GS" },
+ { 0x10DE0390, "GeForce 7650 GS" },
{ 0x10DE0391, "GeForce 7600 GT" },
{ 0x10DE0392, "GeForce 7600 GS" },
{ 0x10DE0393, "GeForce 7300 GT" },
@@ -351,6 +354,10 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0290, "GeForce 7900 GTX" },
{ 0x10DE0291, "GeForce 7900 GT" },
{ 0x10DE0292, "GeForce 7900 GS" },
+ { 0x10DE0293, "GeForce 7950 GX2" },
+ { 0x10DE0294, "GeForce 7950 GX2" },
+ { 0x10DE0295, "GeForce 7950 GT"},
+ { 0x10DE0297, "GeForce Go 7950 GTX" },
{ 0x10DE0298, "GeForce Go 7900 GS" },
{ 0x10DE0299, "GeForce Go 7900 GTX" },
{ 0x10DE029A, "Quadro FX 2500M" },
@@ -364,8 +371,14 @@ static SymTabRec NVKnownChipsets[] =
{ 0x10DE0241, "GeForce 6150 LE" },
{ 0x10DE0242, "GeForce 6100" },
{ 0x10DE0244, "GeForce Go 6150" },
+ { 0x10DE0245, "Quadro NVS 210S / NVIDIA GeForce 6150LE" },
{ 0x10DE0247, "GeForce Go 6100" },
Reply to: