Skip to contentSkip to conversation

2.4.21-RC2 Nforce2 AGP patch

PATCH In review Gutko 2 participants 3 messages May 24, 2003 1 message not in the archive

Subsystems (4)
lore
Share & tools
lore

Gutko

author
#0 lore raw

PATCH 1/1 2.4.21-RC2 Nforce2 AGP patch

Same again but with proper topic
Sorry for this
Gutko
----------

Hello,
This is patch against 2.4.21-rc2 adding Nvidia Nforce1/Nforce2 AGP chipset support.It worked very good on 2.4.21-rc2-ac3. I found this patch here : http://etudiant.epita.fr:8000/~nonolk/nforce-agp.diff

Don't know who ported it from 2.5.69, however I know this address above belongs to author of this patch

Gutko

drivers/char/Config.in +1 -0
diff --unified --recursive --new-file linux/drivers/char/Config.in linux-2.4.20-nforce/drivers/char/Config.in
@@ -306,6 +306,7 @@
    bool '  Generic SiS support' CONFIG_AGP_SIS
    bool '  ALI chipset support' CONFIG_AGP_ALI
    bool '  Serverworks LE/HE support' CONFIG_AGP_SWORKS
+   bool '  Nvidia Nforce/Nforce2 support' CONFIG_AGP_NV
    if [ "$CONFIG_IA64" = "y" ]; then
       bool '  HP ZX1 AGP support' CONFIG_AGP_HP_ZX1
    fi
drivers/char/agp/agp.h +17 -0
diff --unified --recursive --new-file linux/drivers/char/agp/agp.h linux-2.4.20-nforce/drivers/char/agp/agp.h
@@ -271,6 +271,12 @@
 #ifndef PCI_DEVICE_ID_AL_M1671_0
 #define PCI_DEVICE_ID_AL_M1671_0	0x1671
 #endif
+#ifndef PCI_DEVICE_ID_NV_NFORCE_0
+#define PCI_DEVICE_ID_NV_NFORCE_0	0x01a4
+#endif
+#ifndef PCI_DEVICE_ID_NV_NFORCE2_0
+#define PCI_DEVICE_ID_NV_NFORCE2_0	0x01e0
+#endif
 
 /* intel register */
 #define INTEL_APBASE    0x10
@@ -412,6 +418,17 @@
 #define SVWRKS_POSTFLUSH  0x14
 #define SVWRKS_DIRFLUSH   0x0c
 
+/* NVidia registers */
+#define NVIDIA_0_APBASE		0x10
+#define NVIDIA_0_APSIZE		0x80
+#define NVIDIA_1_WBC		0xf0
+#define NVIDIA_2_GARTCTRL	0xd0
+#define NVIDIA_2_APBASE		0xd8
+#define NVIDIA_2_APLIMIT	0xdc
+#define NVIDIA_2_ATTBASE(i)	(0xe0 + (i) * 4)
+#define NVIDIA_3_APBASE		0x50
+#define NVIDIA_3_APLIMIT	0x54
+
 /* HP ZX1 SBA registers */
 #define HP_ZX1_CTRL		0x200
 #define HP_ZX1_IBASE		0x300
drivers/char/agp/agpgart_be.c +320 -1

339 lines not on this page · raw message

include/linux/agp_backend.h +2 -0
diff --unified --recursive --new-file linux/include/linux/agp_backend.h linux-2.4.20-nforce/include/linux/agp_backend.h
@@ -82,6 +82,8 @@
 	SVWRKS_LE,
 	SVWRKS_GENERIC,
 	HP_ZX1,
+	NV_NFORCE,
+        NV_NFORCE_2,
 };
 
 typedef struct _agp_version {
#1 lore raw
Quoted 5 lines · Gutko

Same again but with proper topic
Sorry for this
Gutko
----------

Quoted 7 lines

Hello,
This is patch against 2.4.21-rc2 adding Nvidia Nforce1/Nforce2 AGP chipset support.It worked very good on 2.4.21-rc2-ac3. I found this patch here : http://etudiant.epita.fr:8000/~nonolk/nforce-agp.diff

Don't know who ported it from 2.5.69, however I know this address above belongs to author of this patch

This is based on an old backport, and has at least one bug in it. (It must use its own insert/remove, or you get problems with 32MB
apertures).

Dave

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

[Taking back to l-k, as a few people mailed me privately about this..]

On Sat, May 24, 2003 at 01:05:20PM -0700, several people wrote words to the effect of:

Quoted 2 lines

I hope someone is working on fixing that or porting a more recent version to 2.4, because I would like to have nForce2 AGP support.

The simpler method, is to use the patch the NVIDIA folks did (below), which my 2.5 driver was based on. This has been sent to Marcelo for inclusion in 2.4, but it missed this release, so you may have to wait a few months before it pops up in 2.4.22 (who knows, which time, 2.6 may be ready).

Note, that this driver also has some additional bits that haven't found their way into 2.5 yet (such as the K7 MTRR frobbing).

Finally, don't thank me for this one. All the kudos for this patch belong to NVIDIA, and the folks there who pushed really hard to make an opensource release of this possible. My hat's off to them.

Dave

Documentation/Configure.help +8 -0
diff -ru linux-2.4.20/Documentation/Configure.help linux-2.4.20-nforce/Documentation/Configure.help
@@ -3559,6 +3559,14 @@
   Say Y here to support the Serverworks AGP card.  See 
   <http://www.serverworks.com/> for product descriptions and images.
 
+NVIDIA chipset support
+CONFIG_AGP_NVIDIA
+  This option gives you AGP support for the GLX component of the
+  XFree86 4.x on NVIDIA nForce/nForce2 chipsets.
+
+  You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+  use GLX or DRI.  If unsure, say N.
+
 ALI chipset support
 CONFIG_AGP_ALI
   This option gives you AGP support for the GLX component of the
arch/i386/defconfig +1 -0
diff -ru linux-2.4.20/arch/i386/defconfig linux-2.4.20-nforce/arch/i386/defconfig
@@ -607,6 +607,7 @@
 CONFIG_AGP_SIS=y
 CONFIG_AGP_ALI=y
 # CONFIG_AGP_SWORKS is not set
+CONFIG_AGP_NVIDIA=y
 CONFIG_DRM=y
 # CONFIG_DRM_OLD is not set
 
drivers/char/Config.in +3 -0
diff -ru linux-2.4.20/drivers/char/Config.in linux-2.4.20-nforce/drivers/char/Config.in
@@ -288,6 +288,9 @@
    bool '  Generic SiS support' CONFIG_AGP_SIS
    bool '  ALI chipset support' CONFIG_AGP_ALI
    bool '  Serverworks LE/HE support' CONFIG_AGP_SWORKS
+   if [ "$CONFIG_X86" = "y" ]; then
+      bool '  NVIDIA chipset support' CONFIG_AGP_NVIDIA
+   fi
    if [ "$CONFIG_IA64" = "y" ]; then
       bool '  HP ZX1 AGP support' CONFIG_AGP_HP_ZX1
    fi
drivers/char/agp/agp.h +11 -0
diff -ru linux-2.4.20/drivers/char/agp/agp.h linux-2.4.20-nforce/drivers/char/agp/agp.h
@@ -412,6 +412,17 @@
 #define SVWRKS_POSTFLUSH  0x14
 #define SVWRKS_DIRFLUSH   0x0c
 
+/* NVIDIA registers */
+#define NVIDIA_0_APBASE     0x10
+#define NVIDIA_0_APSIZE     0x80
+#define NVIDIA_1_WBC        0xf0
+#define NVIDIA_2_GARTCTRL   0xd0
+#define NVIDIA_2_APBASE     0xd8
+#define NVIDIA_2_APLIMIT    0xdc
+#define NVIDIA_2_ATTBASE(i) (0xe0 + (i) * 4)
+#define NVIDIA_3_APBASE     0x50
+#define NVIDIA_3_APLIMIT    0x54
+
 /* HP ZX1 SBA registers */
 #define HP_ZX1_CTRL		0x200
 #define HP_ZX1_IBASE		0x300
drivers/char/agp/agpgart_be.c +349 -0

367 lines not on this page · raw message

include/linux/agp_backend.h +3 -0
diff -ru linux-2.4.20/include/linux/agp_backend.h linux-2.4.20-nforce/include/linux/agp_backend.h
@@ -79,6 +79,9 @@
 	SVWRKS_HE,
 	SVWRKS_LE,
 	SVWRKS_GENERIC,
+	NVIDIA_NFORCE,
+	NVIDIA_NFORCE2,
+	NVIDIA_GENERIC,
 	HP_ZX1,
 };
 
include/linux/pci_ids.h +2 -0
diff -ru linux-2.4.20/include/linux/pci_ids.h linux-2.4.20-nforce/include/linux/pci_ids.h
@@ -885,6 +885,8 @@
 #define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA	0x0152
 #define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO	0x0153
 #define PCI_DEVICE_ID_NVIDIA_IGEFORCE2		0x01a0
+#define PCI_DEVICE_ID_NVIDIA_NFORCE			0x01a4
+#define PCI_DEVICE_ID_NVIDIA_NFORCE2		0x01e0
 #define PCI_DEVICE_ID_NVIDIA_GEFORCE3		0x0200
 #define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1		0x0201
 #define PCI_DEVICE_ID_NVIDIA_GEFORCE3_2		0x0202