mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 05:11:48 +00:00
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>
This commit is contained in:
parent
969780f807
commit
6730c3c144
@ -147,7 +147,7 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge)
|
||||
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 @@ err_out:
|
||||
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 @@ static void agp_backend_cleanup(struct agp_bridge_data *bridge)
|
||||
bridge->driver->needs_scratch_page) {
|
||||
bridge->driver->agp_destroy_page(
|
||||
gart_to_virt(bridge->scratch_page_real));
|
||||
global_flush_tlb();
|
||||
flush_agp_mappings();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,7 +155,7 @@ void agp_free_memory(struct agp_memory *curr)
|
||||
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);
|
||||
@ -213,8 +213,6 @@ struct agp_memory *agp_allocate_memory(struct agp_bridge_data *bridge,
|
||||
new->memory[i] = virt_to_gart(addr);
|
||||
new->page_count++;
|
||||
}
|
||||
global_flush_tlb();
|
||||
|
||||
new->bridge = bridge;
|
||||
|
||||
flush_agp_mappings();
|
||||
|
Loading…
Reference in New Issue
Block a user