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>
                        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 =
        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);
            bridge->driver->needs_scratch_page) {
                bridge->driver->agp_destroy_page(
                                gart_to_virt(bridge->scratch_page_real));
-               global_flush_tlb();
+               flush_agp_mappings();
        }
 }
 
 
                for (i = 0; i < curr->page_count; i++) {
                        curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]));
                }
-               global_flush_tlb();
+               flush_agp_mappings();
        }
        agp_free_key(curr->key);
        vfree(curr->memory);
                new->memory[i] = virt_to_gart(addr);
                new->page_count++;
        }
-       global_flush_tlb();
-
        new->bridge = bridge;
 
        flush_agp_mappings();