mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 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
[parent not found: <1109890416.6974.12.camel@host-172-19-5-120.sns.york.ac.uk>]
* 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®