[PATCH] nvidiafb: Geforce 7800 series support added

From: Calin A. Culianu
Date: Fri Nov 04 2005 - 20:38:26 EST



Hi, this patch replaces a patch I prevously submitted. The previous patch was named:

nvidiafb-geforce-7800-gtx-support-added.patch

Which was added to the -mm tree on Oct. 25.

Can you replace the above mentioned patch with this one, since it is more updated?

This patch replaces the above patch, and is simply a better version of that patch with more support for more cards.

Altogether this is an almost trivial patch that simply adds support for the Nvidia Geforce 7800 series of cards to the nvidiafb framebuffer driver. All this patch does is add the PCI device id for the 7800, 7800 GTX, 7800 GO, and 7800 GTX GO cards to the module device table for the nvidiafb.ko driver, so that nvidiafb.ko will actually work on these cards.

I also added the relevant PCI device ids to linux/pci_ids.h (I hope noone minds).

I tested it on my 7800 GTX here and it works like a charm. I now can get framebuffer support on this card! Woo hoo!! Nothing like 200x75 text mode to make your eyes BLEED. ;)

This patch is against 2.6.14-rc5. It should apply against most 2.6 kernels though -- not sure which kernel is the standard one to submit patches against.

Should I submit this patch for 2.4 kernel? I don't even know if that one has nvidiafb since I don't run 2.4 much these days..

Thanks!

-Calindiff -urN linux-2.6.14-rc5/drivers/video/nvidia/nvidia.c linux-2.6.14-rc5.new/drivers/video/nvidia/nvidia.c
--- linux-2.6.14-rc5/drivers/video/nvidia/nvidia.c 2005-10-20 02:23:05.000000000 -0400
+++ linux-2.6.14-rc5.new/drivers/video/nvidia/nvidia.c 2005-10-25 12:34:07.000000000 -0400
@@ -384,6 +384,14 @@
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_6800B_GT,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_7800_GT,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_7800_GTX,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_GO_7800,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ {PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_GO_7800_GTX,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_NVIDIA, 0x021d,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_NVIDIA, 0x021e,
diff -urN linux-2.6.14-rc5/include/linux/pci_ids.h linux-2.6.14-rc5.new/include/linux/pci_ids.h
--- linux-2.6.14-rc5/include/linux/pci_ids.h 2005-10-20 02:23:05.000000000 -0400
+++ linux-2.6.14-rc5.new/include/linux/pci_ids.h 2005-10-25 12:39:04.000000000 -0400
@@ -1188,6 +1188,10 @@
#define PCI_DEVICE_ID_NVIDIA_CK8_AUDIO 0x008a
#define PCI_DEVICE_ID_NVIDIA_NVENET_5 0x008c
#define PCI_DEVICE_ID_NVIDIA_NFORCE2S_SATA 0x008e
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_7800_GT 0x0090
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_7800_GTX 0x0091
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_GO_7800 0x0098
+#define PCI_DEVICE_ID_NVIDIA_GEFORCE_GO_7800_GTX 0x0099
#define PCI_DEVICE_ID_NVIDIA_ITNT2 0x00A0
#define PCI_DEVICE_ID_GEFORCE_6800A 0x00c1
#define PCI_DEVICE_ID_GEFORCE_6800A_LE 0x00c2