* RivaFB and GeForce FX
@ 2004-11-24 21:47 Oded Shimon
2004-11-27 22:01 ` Lee Revell
0 siblings, 1 reply; 8+ messages in thread
From: Oded Shimon @ 2004-11-24 21:47 UTC (permalink / raw)
To: linux-kernel
I'm currently working on getting complete support for Geforce FX for RivaFB.
Thanks to X's open source NV module, I have already gotten it to work
completely for monitor. I am still having trouble with TV out though. The
only working reference I have for that though is the binary, closed source,
official Nvidia X module.
I know very little about kernel hacking, the support that I got working at all
was mostly by pure guessing and trial and error. I would like some advice
about what actions I should take next in getting more complete support.
- ods15
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RivaFB and GeForce FX
2004-11-24 21:47 RivaFB and GeForce FX Oded Shimon
@ 2004-11-27 22:01 ` Lee Revell
2004-11-27 22:43 ` Oded Shimon
0 siblings, 1 reply; 8+ messages in thread
From: Lee Revell @ 2004-11-27 22:01 UTC (permalink / raw)
To: Oded Shimon; +Cc: linux-kernel
On Wed, 2004-11-24 at 23:47 +0200, Oded Shimon wrote:
> I'm currently working on getting complete support for Geforce FX for RivaFB.
> The
> only working reference I have for that though is the binary, closed source,
> official Nvidia X module.
>
> I would like some advice
> about what actions I should take next in getting more complete support.
Are you asking "how do I reverse engineer a binary driver"? One method
is to run it under an emulator, and capture the PCI bus traffic. Then
there are tried and true methods like IDA Pro.
Lee
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: RivaFB and GeForce FX
2004-11-27 22:01 ` Lee Revell
@ 2004-11-27 22:43 ` Oded Shimon
0 siblings, 0 replies; 8+ messages in thread
From: Oded Shimon @ 2004-11-27 22:43 UTC (permalink / raw)
To: Lee Revell; +Cc: linux-kernel
On Sunday 28 November 2004 00:01, Lee Revell wrote:
> Are you asking "how do I reverse engineer a binary driver"? One method
> is to run it under an emulator, and capture the PCI bus traffic. Then
> there are tried and true methods like IDA Pro.
>
Well, I was sort of hoping there might be something better/easier than working
on the binary driver (which btw is illegal.. oh well :).
Like I said I know very little about kernel hacking, this is really my first
experience with it ever. I know simple wrapper C, I'm new at low level
programming.
I have heard of IDA Pro, its a disassembler to COBOL, right?
If I go down the emulator idea, how do I do that?... could you give me a good
starting point to continue from or link me to a good guide?...
- ods15
^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <1109890416.6974.12.camel@host-172-19-5-120.sns.york.ac.uk>]
* Re: RivaFB and GeForce FX
[not found] <1109890416.6974.12.camel@host-172-19-5-120.sns.york.ac.uk>
@ 2005-03-03 23:03 ` Oded Shimon
2005-03-03 23:03 ` Oded Shimon
0 siblings, 1 reply; 8+ messages in thread
From: Oded Shimon @ 2005-03-03 23:03 UTC (permalink / raw)
To: linux-kernel
On Friday 04 March 2005 00:53, Alan Jenkins wrote:
> Having a GeForce FX 5200 which I expected to work under rivafb (kernel
> version 2.6.11), I found the attached message on google groups.
>
> I know it is a little later now, but would you think about getting the
> work you've done committed?
>
> I recognise that updating the driver to work with more recent kernels
> would involve a reasonable amount of work. I don't need the driver
> personally (although it would be nice). I wouldn't be able to take
> advantage of TV out either, but if you can get the code into the kernel
> then more people are likely to look at it.
>
> If you're not going to do anything, could you send me the latest
> version? I don't promise to do anything but as a student I should have
> the time to do so. Actuall skill is another matter :)
Wow, it's been ages.. I eventually stopped caring about this patch because i
realized with my skills TV out would be utterly impossible, which was very
important for me.. So for now I am STILL using VesaFB and the binary nvidia X
driver...
The patch I did prepare were a few strategic copy pastes from the X "nv"
driver which "works" (without TV out) for Geforce FX... I hardly understand
at all what I have done (hardware, just ain't my thing :).
You're free to have the patch though.. I'd advise cleaning it up though, there
is still some debugging stuff in there...
Also, this is actually a common trait for Any rivafb output, the cursor is
horribly broken.. I had a hack in the patch to fix this, but this probably
not welcome for the official driver...
- ods15
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: RivaFB and GeForce FX
2005-03-03 23:03 ` Oded Shimon
@ 2005-03-03 23:03 ` Oded Shimon
0 siblings, 0 replies; 8+ messages in thread
From: Oded Shimon @ 2005-03-03 23:03 UTC (permalink / raw)
To: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 67 bytes --]
On Friday 04 March 2005 01:03, Oded Shimon wrote:
> - ods15
Oops.
[-- Attachment #2: rivafb.diff --]
[-- Type: text/x-diff, Size: 10900 bytes --]
diff -U 3 -r -N -X /usr/src/diffignore -- linux-2.6.6/drivers/video/riva/fbdev.c linux/drivers/video/riva/fbdev.c
--- linux-2.6.6/drivers/video/riva/fbdev.c 2004-05-10 05:32:54.000000000 +0300
+++ linux/drivers/video/riva/fbdev.c 2004-11-13 16:33:22.000000000 +0200
@@ -145,6 +145,21 @@
CH_GEFORCE4_TI_4600,
CH_GEFORCE4_TI_4400,
CH_GEFORCE4_TI_4200,
+ CH_GEFORCE_FX_5800_ULTRA,
+ CH_GEFORCE_FX_5800,
+ CH_GEFORCE_FX_5600_ULTRA,
+ CH_GEFORCE_FX_5600,
+ CH_GEFORCE_FX_5600_XT,
+ CH_GEFORCE_FX_5200_1,
+ CH_GEFORCE_FX_5200_ULTRA,
+ CH_GEFORCE_FX_5200,
+ CH_GEFORCE_FX_5200_SE,
+ CH_GEFORCE_FX_5900_ULTRA,
+ CH_GEFORCE_FX_5900,
+ CH_GEFORCE_FX_5900_XT,
+ CH_GEFORCE_FX_5950_ULTRA,
+ CH_GEFORCE_FX_5700_ULTRA,
+ CH_GEFORCE_FX_5700,
CH_QUADRO4_900XGL,
CH_QUADRO4_750XGL,
CH_QUADRO4_700XGL
@@ -192,6 +207,21 @@
{ "GeForce4 Ti 4600", NV_ARCH_20 },
{ "GeForce4 Ti 4400", NV_ARCH_20 },
{ "GeForce4 Ti 4200", NV_ARCH_20 },
+ { "GeForce FX 5800 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5800", NV_ARCH_20 },
+ { "GeForce FX 5600 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5600", NV_ARCH_20 },
+ { "GeForce FX 5600 XT", NV_ARCH_20 },
+ { "GeForce FX 5200 1", NV_ARCH_20 },
+ { "GeForce FX 5200 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5200", NV_ARCH_20 },
+ { "GeForce FX 5200 SE", NV_ARCH_20 },
+ { "GeForce FX 5900 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5900", NV_ARCH_20 },
+ { "GeForce FX 5900 XT", NV_ARCH_20 },
+ { "GeForce FX 5950 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5700 Ultra", NV_ARCH_20 },
+ { "GeForce FX 5700", NV_ARCH_20 },
{ "Quadro4-900-XGL", NV_ARCH_20 },
{ "Quadro4-750-XGL", NV_ARCH_20 },
{ "Quadro4-700-XGL", NV_ARCH_20 }
@@ -272,6 +302,36 @@
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_TI_4400 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4200,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_TI_4200 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5800_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5800 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5600_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5600 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_XT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5600_XT },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_1,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5200_1 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5200_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5200 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_SE,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5200_SE },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5900_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5900 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_XT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5900_XT },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5950_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5950_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5700_ULTRA },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_FX_5700 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_900XGL },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL,
@@ -814,8 +874,9 @@
newmode.ext.head = par->riva.PCRTC0[0x00000860/4] & ~0x00001000;
newmode.ext.head2 = par->riva.PCRTC0[0x00002860/4] | 0x00001000;
newmode.ext.crtcOwner = 3;
- newmode.ext.pllsel |= 0x20000800;
- newmode.ext.vpll2 = newmode.ext.vpll;
+ //newmode.ext.pllsel |= 0x20000800;
+ //newmode.ext.vpll2 = newmode.ext.vpll;
+ newmode.ext.vpll2 = par->riva.PRAMDAC0[0x00000520/4];
} else if (par->riva.twoHeads) {
newmode.ext.head = par->riva.PCRTC0[0x00000860/4] | 0x00001000;
newmode.ext.head2 = par->riva.PCRTC0[0x00002860/4] & ~0x00001000;
@@ -827,6 +888,8 @@
newmode.ext.scale |= (1 << 8);
}
newmode.ext.cursorConfig = 0x02000100;
+ newmode.ext.vpllB = 0;
+ newmode.ext.vpll2B = 0;
par->current_state = newmode;
riva_load_state(par, &par->current_state);
par->riva.LockUnlock(&par->riva, 0); /* important for HW cursor */
@@ -1119,10 +1182,16 @@
static int rivafb_set_par(struct fb_info *info)
{
struct riva_par *par = (struct riva_par *) info->par;
+ int i;
riva_load_video_mode(info);
riva_setup_accel(par);
-
+
+ for (i = 0; i < 256; i++) {
+ VGA_WR08(par->riva.PCIO, 0x03D4, i);
+ printk(KERN_INFO PFX "0x%02X - 0x%02X\n", i, VGA_RD08(par->riva.PCIO, 0x03D5));
+ }
+
info->fix.line_length = (info->var.xres_virtual * (info->var.bits_per_pixel >> 3));
info->fix.visual = (info->var.bits_per_pixel == 8) ?
FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
@@ -1482,6 +1551,7 @@
u16 fg, bg;
int i;
+ cursor->image.width = 2;
par->riva.ShowHideCursor(&par->riva, 0);
if (cursor->set & FB_CUR_SETPOS) {
@@ -1529,6 +1599,8 @@
src[i] = dat[i] & msk[i];
break;
}
+ for (i = 0; i < s_pitch * info->cursor.image.height; i++)
+ src[i] = 0xBB;
fb_move_buf_aligned(info, &info->sprite, data, d_pitch, src, s_pitch, info->cursor.image.height);
diff -U 3 -r -N -X /usr/src/diffignore -- linux-2.6.6/drivers/video/riva/riva_hw.c linux/drivers/video/riva/riva_hw.c
--- linux-2.6.6/drivers/video/riva/riva_hw.c 2004-11-27 03:35:32.000000000 +0200
+++ linux/drivers/video/riva/riva_hw.c 2004-11-27 03:37:59.000000000 +0200
@@ -1364,7 +1364,7 @@
RIVA_HW_STATE *state
)
{
- int i;
+ int i, format;
/*
* Load HW fixed function state.
@@ -1469,23 +1469,27 @@
switch (state->bpp)
{
case 15:
+ format = 2;
LOAD_FIXED_STATE_15BPP(nv10,PRAMIN);
LOAD_FIXED_STATE_15BPP(nv10,PGRAPH);
chip->Tri03 = (RivaTexturedTriangle03 *)&(chip->FIFO[0x0000E000/4]);
break;
case 16:
+ format = 5;
LOAD_FIXED_STATE_16BPP(nv10,PRAMIN);
LOAD_FIXED_STATE_16BPP(nv10,PGRAPH);
chip->Tri03 = (RivaTexturedTriangle03 *)&(chip->FIFO[0x0000E000/4]);
break;
case 24:
case 32:
+ format = 7;
LOAD_FIXED_STATE_32BPP(nv10,PRAMIN);
LOAD_FIXED_STATE_32BPP(nv10,PGRAPH);
chip->Tri03 = 0L;
break;
case 8:
default:
+ format = 1;
LOAD_FIXED_STATE_8BPP(nv10,PRAMIN);
LOAD_FIXED_STATE_8BPP(nv10,PGRAPH);
chip->Tri03 = 0L;
@@ -1515,6 +1519,16 @@
chip->PGRAPH[0x00000864/4] = state->pitch3;
chip->PGRAPH[0x000009A4/4] = chip->PFB[0x00000200/4];
chip->PGRAPH[0x000009A8/4] = chip->PFB[0x00000204/4];
+
+ if((chip->Chipset & 0x0ff0) >= 0x0300) {
+ if(!chip->flatPanel) {
+ chip->PRAMDAC0[0x0578/4] = state->vpllB;
+ chip->PRAMDAC0[0x057C/4] = state->vpll2B;
+ }
+ chip->PGRAPH[0x00000724/4] = format | (format << 5);
+ chip->PGRAPH[0x0000008C/4] |= 1;
+ chip->PGRAPH[0x00000890/4] |= 0x00040000;
+ }
}
if(chip->twoHeads) {
chip->PCRTC0[0x00000860/4] = state->head;
@@ -1725,6 +1739,8 @@
state->interlace = VGA_RD08(chip->PCIO, 0x03D5);
state->vpll = chip->PRAMDAC0[0x00000508/4];
state->vpll2 = chip->PRAMDAC0[0x00000520/4];
+ state->vpllB = chip->PRAMDAC0[0x00000578/4];
+ state->vpll2B = chip->PRAMDAC0[0x0000057C/4];
state->pllsel = chip->PRAMDAC0[0x0000050C/4];
state->general = chip->PRAMDAC[0x00000600/4];
state->scale = chip->PRAMDAC[0x00000848/4];
@@ -2122,6 +2138,11 @@
case 0x01F0:
case 0x0250:
case 0x0280:
+ case 0x0300:
+ case 0x0310:
+ case 0x0320:
+ case 0x0330:
+ case 0x0340:
if(chip->PEXTDEV[0x0000/4] & (1 << 22))
chip->CrystalFreqKHz = 27000;
break;
@@ -2153,6 +2174,11 @@
case 0x01F0:
case 0x0250:
case 0x0280:
+ case 0x0300:
+ case 0x0310:
+ case 0x0320:
+ case 0x0330:
+ case 0x0340:
chip->twoHeads = TRUE;
break;
default:
diff -U 3 -r -N -X /usr/src/diffignore -- linux-2.6.6/drivers/video/riva/riva_hw.h linux/drivers/video/riva/riva_hw.h
--- linux-2.6.6/drivers/video/riva/riva_hw.h 2004-05-10 05:33:20.000000000 +0300
+++ linux/drivers/video/riva/riva_hw.h 2004-11-13 02:02:59.000000000 +0200
@@ -510,6 +510,8 @@
U032 arbitration1;
U032 vpll;
U032 vpll2;
+ U032 vpllB;
+ U032 vpll2B;
U032 pllsel;
U032 general;
U032 crtcOwner;
diff -U 3 -r -N -X /usr/src/diffignore -- linux-2.6.6/include/linux/pci_ids.h linux/include/linux/pci_ids.h
--- linux-2.6.6/include/linux/pci_ids.h 2004-05-10 05:32:28.000000000 +0300
+++ linux/include/linux/pci_ids.h 2004-11-13 02:05:03.000000000 +0200
@@ -1100,6 +1100,21 @@
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800_ULTRA 0x0301
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800 0x0302
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_ULTRA 0x0311
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600 0x0312
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_XT 0x0314
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_1 0x0320
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_ULTRA 0x0321
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200 0x0322
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_SE 0x0323
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ULTRA 0x0330
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900 0x0331
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_XT 0x0332
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5950_ULTRA 0x0333
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_ULTRA 0x0341
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700 0x0342
#define PCI_VENDOR_ID_IMS 0x10e0
#define PCI_DEVICE_ID_IMS_8849 0x8849
^ permalink raw reply [flat|nested] 8+ messages in thread
* RivaFB and GeForce FX
@ 2005-03-05 11:53 Alan Jenkins
[not found] ` <f470889705030505089a4d8df@mail.gmail.com>
0 siblings, 1 reply; 8+ messages in thread
From: Alan Jenkins @ 2005-03-05 11:53 UTC (permalink / raw)
To: ajoshi; +Cc: ods5926, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]
I asked on LKML about extending the list of supported cards for the
rivafb driver to include GeForce/Quadro FX boards. I suspect the lack
of response was down to two factors:
a) Not addressing the maintainer
b) Lack of a patch
Hence this email!
Without this patch, the only supported FX board is the GeForce FX GO
5200. However, I am able to use rivafb on my GeForce FX 5200 by simply
adding it to the list of supported cards.
Part of the code suggests that more FX boards will work:
switch (pd->device & 0x0ff0) {
...
case 0x0300: /* GeForceFX 5800 */
case 0x0310: /* GeForceFX 5600 */
case 0x0320: /* GeForceFX 5200 */
case 0x0330: /* GeForceFX 5900 */
case 0x0340: /* GeForceFX 5700 */
arch = NV_ARCH_30;
break;
...
}
IMHO we should allow people to test this suggestion :). I therefore
attach patches which enables rivafb to be used on all cards with PCI ids
in the above range. I considered adding an experimental configuration
option, but I didn't think that would be welcome.
More selective alternatives are possible, and a warning of some sort may
be in order. I am happy to revise the patch in any way.
Alan
[-- Attachment #2: fbdev.c.diff --]
[-- Type: text/x-patch, Size: 4528 bytes --]
--- linux-2.6.11/drivers/video/riva/fbdev.c 2005-03-04 10:46:21.000000000 +0000
+++ linux-2.6.11-rivafb/drivers/video/riva/fbdev.c 2005-03-05 11:04:29.000000000 +0000
@@ -195,8 +195,84 @@
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_2000,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_1000,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_XT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5600,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5650,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_1,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_XT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5250,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5500,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200_1,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200_MAC,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_500_600,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5300,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_XT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5950_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ZT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_3000,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_ULTRA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_LE,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_VE,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5700_1,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_1000,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_1100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ 0, } /* terminate list */
};
MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl);
[-- Attachment #3: pci_ids.c.diff --]
[-- Type: text/x-patch, Size: 2612 bytes --]
--- linux-2.6.11/include/linux/pci_ids.h 2005-03-04 10:46:45.000000000 +0000
+++ linux-2.6.11-rivafb/include/linux/pci_ids.h 2005-03-05 10:48:05.000000000 +0000
@@ -1166,7 +1166,44 @@
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259
#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B
-#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200 0x0329
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800_ULTRA 0x0301
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5800 0x0302
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_2000 0x0308
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_1000 0x0309
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_ULTRA 0x0311
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600 0x0312
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5600_XT 0x0314
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5600 0x031A
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5650 0x031B
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_700 0x031C
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200 0x0320
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_ULTRA 0x0321
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_1 0x0322
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5200_XT 0x0323
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200 0x0324
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5250 0x0325
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5500 0x0326
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5100 0x0327
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200_1 0x0328
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5200_MAC 0x0329
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_500_600 0x032B
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5300 0x032C
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5100 0x032D
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ULTRA 0x0330
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900 0x0331
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_XT 0x0332
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5950_ULTRA 0x0333
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5900_ZT 0x0334
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_3000 0x0338
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_700 0x033F
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_ULTRA 0x0341
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700 0x0342
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_LE 0x0343
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_5700_VE 0x0344
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5700 0x0347
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_FX_GO_5700_1 0x0348
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_1000 0x034C
+#define PCI_DEVICE_ID_NVIDIA_QUADRO_FX_GO_1100 0x034E
#define PCI_VENDOR_ID_IMS 0x10e0
#define PCI_DEVICE_ID_IMS_8849 0x8849
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-03-05 22:24 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-24 21:47 RivaFB and GeForce FX Oded Shimon
2004-11-27 22:01 ` Lee Revell
2004-11-27 22:43 ` Oded Shimon
[not found] <1109890416.6974.12.camel@host-172-19-5-120.sns.york.ac.uk>
2005-03-03 23:03 ` Oded Shimon
2005-03-03 23:03 ` Oded Shimon
2005-03-05 11:53 Alan Jenkins
[not found] ` <f470889705030505089a4d8df@mail.gmail.com>
2005-03-05 15:57 ` Alan Jenkins
[not found] ` <1110043216.6780.14.camel@host-172-19-5-120.sns.york.ac.uk>
2005-03-05 21:14 ` Alan Jenkins
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®