First, thanks, Alan, for using the USB and AGP patches. You just
saved me a bunch of integration work.
I'd like to suggest the below patches for the AGP i810 driver.
[1] I'm largely in the dark with AGP, but I know for a fact that with
my previous AGP driver -- which was, like the one you integrated,
based on 2.4 and PI's work -- I got kernel oopses about 10% of the
time when exiting X. The oopses were fixed by the addition of
CACHE_FLUSH() calls in intel_i810_remove_entries(), in imitation of
the CACHE_FLUSH() calls already in intel_i810_insert_entries().
Index: drivers/char/agp/agpgart_be.c
--- drivers/char/agp/agpgart_be.c.prev
+++ drivers/char/agp/agpgart_be.c Fri Sep 1 20:38:18 2000
@@ -951,4 +953,5 @@ static int intel_i810_remove_entries(agp
int i;
+ CACHE_FLUSH();
for (i = pg_start; i < (mem->page_count + pg_start); i++) {
OUTREG32(intel_i810_private.registers,
@@ -956,4 +959,5 @@ static int intel_i810_remove_entries(agp
agp_bridge.scratch_page);
}
+ CACHE_FLUSH();
agp_bridge.tlb_flush(mem);
[2] When CONFIG_AGP_I810 is off, disable compilation of (more of the)
i810-specific code.
Index: drivers/char/agp/agpgart_be.c
--- drivers/char/agp/agpgart_be.c.prev
+++ drivers/char/agp/agpgart_be.c Fri Sep 1 20:38:18 2000
@@ -791,4 +791,6 @@ void agp_enable(u32 mode)
/* End - Generic Agp routines */
+#ifdef CONFIG_AGP_I810
+
static aper_size_info_fixed intel_i810_sizes[] =
{
@@ -1063,4 +1067,5 @@ static int __init intel_i810_setup(struc
}
+#endif /* CONFIG_AGP_I810 */
#ifdef CONFIG_AGP_INTEL
@@ -2198,5 +2203,5 @@ static int __init agp_find_supported_dev
/* Need to test for I810 here */
-
+#ifdef CONFIG_AGP_I810
if (dev->vendor == PCI_VENDOR_ID_INTEL) {
struct pci_dev *i810_dev;
@@ -2272,5 +2277,5 @@ static int __init agp_find_supported_dev
}
}
-
+#endif /* CONFIG_AGP_I810 */
/* find capndx */
--
Chip Salzenberg - a.k.a. - <[EMAIL PROTECTED]>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/