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/video/vermilion | |
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/video/vermilion')
-rw-r--r-- | drivers/video/vermilion/vermilion.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/video/vermilion/vermilion.c b/drivers/video/vermilion/vermilion.c index fb72778dee48..1c656667b937 100644 --- a/drivers/video/vermilion/vermilion.c +++ b/drivers/video/vermilion/vermilion.c | |||
@@ -124,13 +124,8 @@ static int vmlfb_alloc_vram_area(struct vram_area *va, unsigned max_order, | |||
124 | /* | 124 | /* |
125 | * Change caching policy of the linear kernel map to avoid | 125 | * Change caching policy of the linear kernel map to avoid |
126 | * mapping type conflicts with user-space mappings. | 126 | * mapping type conflicts with user-space mappings. |
127 | * The first global_flush_tlb() is really only there to do a global | ||
128 | * wbinvd(). | ||
129 | */ | 127 | */ |
130 | |||
131 | global_flush_tlb(); | ||
132 | set_pages_uc(virt_to_page(va->logical), va->size >> PAGE_SHIFT); | 128 | set_pages_uc(virt_to_page(va->logical), va->size >> PAGE_SHIFT); |
133 | global_flush_tlb(); | ||
134 | 129 | ||
135 | printk(KERN_DEBUG MODULE_NAME | 130 | printk(KERN_DEBUG MODULE_NAME |
136 | ": Allocated %ld bytes vram area at 0x%08lx\n", | 131 | ": Allocated %ld bytes vram area at 0x%08lx\n", |
@@ -156,7 +151,6 @@ static void vmlfb_free_vram_area(struct vram_area *va) | |||
156 | 151 | ||
157 | set_pages_wb(virt_to_page(va->logical), | 152 | set_pages_wb(virt_to_page(va->logical), |
158 | va->size >> PAGE_SHIFT); | 153 | va->size >> PAGE_SHIFT); |
159 | global_flush_tlb(); | ||
160 | 154 | ||
161 | /* | 155 | /* |
162 | * Decrease the usage count on the pages we've used | 156 | * Decrease the usage count on the pages we've used |