Author: kib
Date: Sat Jul 27 16:42:29 2013
New Revision: 253709
URL: http://svnweb.freebsd.org/changeset/base/253709

Log:
  The pmap_qenter() and pmap_qremove() perform TLB invalidation on its
  own, no need to call pmap_invalidate_range() one more time.
  
  Noted by:     alc
  MFC after:    1 week

Modified:
  head/sys/dev/drm2/i915/intel_ringbuffer.c

Modified: head/sys/dev/drm2/i915/intel_ringbuffer.c
==============================================================================
--- head/sys/dev/drm2/i915/intel_ringbuffer.c   Sat Jul 27 16:32:34 2013        
(r253708)
+++ head/sys/dev/drm2/i915/intel_ringbuffer.c   Sat Jul 27 16:42:29 2013        
(r253709)
@@ -365,8 +365,6 @@ init_pipe_control(struct intel_ring_buff
        if (pc->cpu_page == NULL)
                goto err_unpin;
        pmap_qenter((uintptr_t)pc->cpu_page, &obj->pages[0], 1);
-       pmap_invalidate_range(kernel_pmap, (vm_offset_t)pc->cpu_page,
-           (vm_offset_t)pc->cpu_page + PAGE_SIZE);
        pmap_invalidate_cache_range((vm_offset_t)pc->cpu_page,
            (vm_offset_t)pc->cpu_page + PAGE_SIZE);
 
@@ -394,8 +392,6 @@ cleanup_pipe_control(struct intel_ring_b
 
        obj = pc->obj;
        pmap_qremove((vm_offset_t)pc->cpu_page, 1);
-       pmap_invalidate_range(kernel_pmap, (vm_offset_t)pc->cpu_page,
-           (vm_offset_t)pc->cpu_page + PAGE_SIZE);
        kmem_free(kernel_map, (uintptr_t)pc->cpu_page, PAGE_SIZE);
        i915_gem_object_unpin(obj);
        drm_gem_object_unreference(&obj->base);
@@ -972,9 +968,6 @@ static void cleanup_status_page(struct i
                return;
 
        pmap_qremove((vm_offset_t)ring->status_page.page_addr, 1);
-       pmap_invalidate_range(kernel_pmap,
-           (vm_offset_t)ring->status_page.page_addr,
-           (vm_offset_t)ring->status_page.page_addr + PAGE_SIZE);
        kmem_free(kernel_map, (vm_offset_t)ring->status_page.page_addr,
            PAGE_SIZE);
        i915_gem_object_unpin(obj);
@@ -1014,9 +1007,6 @@ static int init_status_page(struct intel
        }
        pmap_qenter((vm_offset_t)ring->status_page.page_addr, &obj->pages[0],
            1);
-       pmap_invalidate_range(kernel_pmap,
-           (vm_offset_t)ring->status_page.page_addr,
-           (vm_offset_t)ring->status_page.page_addr + PAGE_SIZE);
        pmap_invalidate_cache_range((vm_offset_t)ring->status_page.page_addr,
            (vm_offset_t)ring->status_page.page_addr + PAGE_SIZE);
        ring->status_page.obj = obj;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to