Fix AGP compile on non-x86 architectures
AGP shouldn't use "global_flush_tlb()" to flush the AGP mappings, that i
spurely an x86'ism. The proper AGP mapping flusher that should be used
is "flush_agp_mappings()", which on x86 obviously happens to do a global
TLB flush.
This makes AGP (or at least the config _I_ happen to use) compile again
on ppc64.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c
index 4d5ed18..27bca34 100644
--- a/drivers/char/agp/backend.c
+++ b/drivers/char/agp/backend.c
@@ -147,7 +147,7 @@
printk(KERN_ERR PFX "unable to get memory for scratch page.\n");
return -ENOMEM;
}
- global_flush_tlb();
+ flush_agp_mappings();
bridge->scratch_page_real = virt_to_gart(addr);
bridge->scratch_page =
@@ -191,7 +191,7 @@
if (bridge->driver->needs_scratch_page) {
bridge->driver->agp_destroy_page(
gart_to_virt(bridge->scratch_page_real));
- global_flush_tlb();
+ flush_agp_mappings();
}
if (got_gatt)
bridge->driver->free_gatt_table(bridge);
@@ -217,7 +217,7 @@
bridge->driver->needs_scratch_page) {
bridge->driver->agp_destroy_page(
gart_to_virt(bridge->scratch_page_real));
- global_flush_tlb();
+ flush_agp_mappings();
}
}