Messages in this thread Patches in this message |  | | Date | Fri, 1 Sep 2000 22:24:44 -0700 | From | Chip Salzenberg <> | Subject | [PATCH] 2.2.18pre2: AGP and the i810 |
| |
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. - <chip@valinux.com> "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 majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |