diff options
author | kib <kib@FreeBSD.org> | 2013-07-27 16:42:29 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-07-27 16:42:29 +0000 |
commit | ece824c2dc95bb1fc9b769c661303b9e24f3301b (patch) | |
tree | f303f586ec3373c31c6a826e54244cadcb45c600 | |
parent | 9a288b99eda799430b01f11ac9b029782d70c60d (diff) | |
download | FreeBSD-src-ece824c2dc95bb1fc9b769c661303b9e24f3301b.zip FreeBSD-src-ece824c2dc95bb1fc9b769c661303b9e24f3301b.tar.gz |
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
-rw-r--r-- | sys/dev/drm2/i915/intel_ringbuffer.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/sys/dev/drm2/i915/intel_ringbuffer.c b/sys/dev/drm2/i915/intel_ringbuffer.c index c0b752b..107a211 100644 --- a/sys/dev/drm2/i915/intel_ringbuffer.c +++ b/sys/dev/drm2/i915/intel_ringbuffer.c @@ -365,8 +365,6 @@ init_pipe_control(struct intel_ring_buffer *ring) 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_buffer *ring) 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 intel_ring_buffer *ring) 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_ring_buffer *ring) } 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; |