summaryrefslogtreecommitdiff
path: root/linux-core/drm_compat.c
diff options
context:
space:
mode:
authorThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-18 20:43:31 +0200
committerThomas Hellstrom <thomas-at-tungstengraphics-dot-com>2006-09-18 20:43:31 +0200
commitca1b15d645c74e20f638f5a09981bcf02f58caee (patch)
tree8a58a4ad1add4fa9c8aa5cb735b62e432263af83 /linux-core/drm_compat.c
parentc4fad4c96168a3dfabaa8a7e97758fefd014c8a7 (diff)
Alternative implementation of page table zeroing using zap page_range.
(Disabled for now) Fix bo_wait_idle bug. Remove stray debug message.
Diffstat (limited to 'linux-core/drm_compat.c')
-rw-r--r--linux-core/drm_compat.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/linux-core/drm_compat.c b/linux-core/drm_compat.c
index d387678e..e56f6608 100644
--- a/linux-core/drm_compat.c
+++ b/linux-core/drm_compat.c
@@ -124,6 +124,7 @@ static inline void change_pud_range(struct mm_struct *mm, pgd_t * pgd,
* This function should be called with all relevant spinlocks held.
*/
+#if 1
void drm_clear_vma(struct vm_area_struct *vma,
unsigned long addr, unsigned long end)
{
@@ -146,6 +147,19 @@ void drm_clear_vma(struct vm_area_struct *vma,
flush_tlb_range(vma, addr, end);
#endif
}
+#else
+
+void drm_clear_vma(struct vm_area_struct *vma,
+ unsigned long addr, unsigned long end)
+{
+ struct mm_struct *mm = vma->vm_mm;
+
+ spin_unlock(&mm->page_table_lock);
+ (void) zap_page_range(vma, addr, end - addr, NULL);
+ spin_lock(&mm->page_table_lock);
+}
+#endif
+
pgprot_t vm_get_page_prot(unsigned long vm_flags)
{