diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-01-30 07:34:07 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:34:07 -0500 |
commit | d7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13 (patch) | |
tree | d1e305bec62022a0bec82a3499a372c2c7c40583 /drivers/char/agp/i460-agp.c | |
parent | d1028a154c65d7fadd1b2d0276c077014d401ec7 (diff) |
x86: cpa: move flush to cpa
The set_memory_* and set_pages_* family of API's currently requires the
callers to do a global tlb flush after the function call; forgetting this is
a very nasty deathtrap. This patch moves the global tlb flush into
each of the callers
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/char/agp/i460-agp.c')
-rw-r--r-- | drivers/char/agp/i460-agp.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/char/agp/i460-agp.c b/drivers/char/agp/i460-agp.c index e72a83e2bad5..76f581c85a7d 100644 --- a/drivers/char/agp/i460-agp.c +++ b/drivers/char/agp/i460-agp.c | |||
@@ -527,7 +527,6 @@ static void *i460_alloc_page (struct agp_bridge_data *bridge) | |||
527 | 527 | ||
528 | if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) { | 528 | if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) { |
529 | page = agp_generic_alloc_page(agp_bridge); | 529 | page = agp_generic_alloc_page(agp_bridge); |
530 | global_flush_tlb(); | ||
531 | } else | 530 | } else |
532 | /* Returning NULL would cause problems */ | 531 | /* Returning NULL would cause problems */ |
533 | /* AK: really dubious code. */ | 532 | /* AK: really dubious code. */ |
@@ -539,7 +538,6 @@ static void i460_destroy_page (void *page, int flags) | |||
539 | { | 538 | { |
540 | if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) { | 539 | if (I460_IO_PAGE_SHIFT <= PAGE_SHIFT) { |
541 | agp_generic_destroy_page(page, flags); | 540 | agp_generic_destroy_page(page, flags); |
542 | global_flush_tlb(); | ||
543 | } | 541 | } |
544 | } | 542 | } |
545 | 543 | ||