summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm2/i915/intel_ringbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/drm2/i915/intel_ringbuffer.c')
-rw-r--r--sys/dev/drm2/i915/intel_ringbuffer.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/drm2/i915/intel_ringbuffer.c b/sys/dev/drm2/i915/intel_ringbuffer.c
index 107a211..7d6bd94 100644
--- a/sys/dev/drm2/i915/intel_ringbuffer.c
+++ b/sys/dev/drm2/i915/intel_ringbuffer.c
@@ -361,7 +361,7 @@ init_pipe_control(struct intel_ring_buffer *ring)
goto err_unref;
pc->gtt_offset = obj->gtt_offset;
- pc->cpu_page = (uint32_t *)kmem_alloc_nofault(kernel_map, PAGE_SIZE);
+ pc->cpu_page = (uint32_t *)kva_alloc(PAGE_SIZE);
if (pc->cpu_page == NULL)
goto err_unpin;
pmap_qenter((uintptr_t)pc->cpu_page, &obj->pages[0], 1);
@@ -392,7 +392,7 @@ cleanup_pipe_control(struct intel_ring_buffer *ring)
obj = pc->obj;
pmap_qremove((vm_offset_t)pc->cpu_page, 1);
- kmem_free(kernel_map, (uintptr_t)pc->cpu_page, PAGE_SIZE);
+ kva_free((uintptr_t)pc->cpu_page, PAGE_SIZE);
i915_gem_object_unpin(obj);
drm_gem_object_unreference(&obj->base);
@@ -968,7 +968,7 @@ static void cleanup_status_page(struct intel_ring_buffer *ring)
return;
pmap_qremove((vm_offset_t)ring->status_page.page_addr, 1);
- kmem_free(kernel_map, (vm_offset_t)ring->status_page.page_addr,
+ kva_free((vm_offset_t)ring->status_page.page_addr,
PAGE_SIZE);
i915_gem_object_unpin(obj);
drm_gem_object_unreference(&obj->base);
@@ -999,8 +999,7 @@ static int init_status_page(struct intel_ring_buffer *ring)
}
ring->status_page.gfx_addr = obj->gtt_offset;
- ring->status_page.page_addr = (void *)kmem_alloc_nofault(kernel_map,
- PAGE_SIZE);
+ ring->status_page.page_addr = (void *)kva_alloc(PAGE_SIZE);
if (ring->status_page.page_addr == NULL) {
memset(&dev_priv->hws_map, 0, sizeof(dev_priv->hws_map));
goto err_unpin;
OpenPOWER on IntegriCloud