--- /dev/null
+diff -ru usr/src/nv/os-agp.c usr/src/nv.1233959/os-agp.c
+--- usr/src/nv/os-agp.c 2005-02-25 18:37:02.000000000 +0100
++++ usr/src/nv.1233959/os-agp.c 2005-03-07 20:57:17.235559352 +0100
+@@ -176,7 +176,7 @@
+ rm_read_registry_dword(NULL, "NVreg", "EnableAGPFW", &enable_fw);
+ agp_mode |= NV_AGPGART_MODE_BITS_SBA(enable_fw);
+
+- agp_info.mode &= agp_mode;
++ agp_info.mode &= (0xff000000 | agp_mode);
+ NV_AGPGART_BACKEND_ENABLE(drm_agp_p, nvl->agp_bridge, agp_info.mode);
+
+
--- /dev/null
+diff -ru usr/src/nv/nv.c usr/src/nv.1237815/nv.c
+--- usr/src/nv/nv.c 2005-02-25 18:37:02.000000000 +0100
++++ usr/src/nv.1237815/nv.c 2005-03-11 17:29:49.034335416 +0100
+@@ -3071,14 +3071,15 @@
+ nv_printf(NV_DBG_WARNINGS, "NVRM: not using NVAGP, AGPGART is loaded!\n");
+ return status;
+ }
+-#elif defined(NV_MULTIPLE_BRIDGE_AGPGART_PRESENT)
++#elif defined(AGPGART)
++#if defined(NV_MULTIPLE_BRIDGE_AGPGART_PRESENT)
+ if (!list_empty(&agp_bridges))
+ {
+ nv_printf(NV_DBG_WARNINGS,
+ "NVRM: not using NVAGP, an AGPGART backend is loaded!\n");
+ return status;
+ }
+-#elif defined(AGPGART)
++#else /* NV_MULTIPLE_BRIDGE_AGPGART_PRESENT */
+ int error;
+ /*
+ * We can only safely use NvAGP when no backend has been
+@@ -3096,6 +3097,7 @@
+ return status;
+ }
+ #endif
++#endif /* AGPGART */
+ #if defined(CONFIG_X86_64) && defined(CONFIG_GART_IOMMU)
+ nv_printf(NV_DBG_WARNINGS,
+ "NVRM: not using NVAGP, kernel was compiled with GART_IOMMU support!!\n");