Lines Matching refs:kernel_if

256 					  queue->kernel_if->u.g.vas[i],  in qp_free_queue()
257 queue->kernel_if->u.g.pas[i]); in qp_free_queue()
275 size_t queue_size = sizeof(*queue) + sizeof(*queue->kernel_if); in qp_alloc_queue()
283 (sizeof(*queue->kernel_if->u.g.pas) + in qp_alloc_queue()
284 sizeof(*queue->kernel_if->u.g.vas))) in qp_alloc_queue()
287 pas_size = num_pages * sizeof(*queue->kernel_if->u.g.pas); in qp_alloc_queue()
288 vas_size = num_pages * sizeof(*queue->kernel_if->u.g.vas); in qp_alloc_queue()
297 queue->kernel_if = (struct vmci_queue_kern_if *)(queue + 1); in qp_alloc_queue()
298 queue->kernel_if->mutex = NULL; in qp_alloc_queue()
299 queue->kernel_if->num_pages = num_pages; in qp_alloc_queue()
300 queue->kernel_if->u.g.pas = (dma_addr_t *)(queue->kernel_if + 1); in qp_alloc_queue()
301 queue->kernel_if->u.g.vas = in qp_alloc_queue()
302 (void **)((u8 *)queue->kernel_if->u.g.pas + pas_size); in qp_alloc_queue()
303 queue->kernel_if->host = false; in qp_alloc_queue()
306 queue->kernel_if->u.g.vas[i] = in qp_alloc_queue()
308 &queue->kernel_if->u.g.pas[i], in qp_alloc_queue()
310 if (!queue->kernel_if->u.g.vas[i]) { in qp_alloc_queue()
318 queue->q_header = queue->kernel_if->u.g.vas[0]; in qp_alloc_queue()
334 struct vmci_queue_kern_if *kernel_if = queue->kernel_if; in qp_memcpy_to_queue_iter() local
345 if (kernel_if->host) in qp_memcpy_to_queue_iter()
346 va = kmap(kernel_if->u.h.page[page_index]); in qp_memcpy_to_queue_iter()
348 va = kernel_if->u.g.vas[page_index + 1]; in qp_memcpy_to_queue_iter()
359 if (kernel_if->host) in qp_memcpy_to_queue_iter()
360 kunmap(kernel_if->u.h.page[page_index]); in qp_memcpy_to_queue_iter()
364 if (kernel_if->host) in qp_memcpy_to_queue_iter()
365 kunmap(kernel_if->u.h.page[page_index]); in qp_memcpy_to_queue_iter()
381 struct vmci_queue_kern_if *kernel_if = queue->kernel_if; in qp_memcpy_from_queue_iter() local
393 if (kernel_if->host) in qp_memcpy_from_queue_iter()
394 va = kmap(kernel_if->u.h.page[page_index]); in qp_memcpy_from_queue_iter()
396 va = kernel_if->u.g.vas[page_index + 1]; in qp_memcpy_from_queue_iter()
407 if (kernel_if->host) in qp_memcpy_from_queue_iter()
408 kunmap(kernel_if->u.h.page[page_index]); in qp_memcpy_from_queue_iter()
412 if (kernel_if->host) in qp_memcpy_from_queue_iter()
413 kunmap(kernel_if->u.h.page[page_index]); in qp_memcpy_from_queue_iter()
459 produce_q->kernel_if->u.g.pas[i] >> PAGE_SHIFT; in qp_alloc_ppn_set()
463 consume_q->kernel_if->u.g.pas[i] >> PAGE_SHIFT; in qp_alloc_ppn_set()
529 const size_t queue_size = sizeof(*queue) + sizeof(*(queue->kernel_if)); in qp_host_alloc_queue()
535 sizeof(*queue->kernel_if->u.h.page)) in qp_host_alloc_queue()
538 queue_page_size = num_pages * sizeof(*queue->kernel_if->u.h.page); in qp_host_alloc_queue()
544 queue->kernel_if = (struct vmci_queue_kern_if *)(queue + 1); in qp_host_alloc_queue()
545 queue->kernel_if->host = true; in qp_host_alloc_queue()
546 queue->kernel_if->mutex = NULL; in qp_host_alloc_queue()
547 queue->kernel_if->num_pages = num_pages; in qp_host_alloc_queue()
548 queue->kernel_if->u.h.header_page = in qp_host_alloc_queue()
550 queue->kernel_if->u.h.page = in qp_host_alloc_queue()
551 &queue->kernel_if->u.h.header_page[1]; in qp_host_alloc_queue()
581 if (produce_q->kernel_if->host) { in qp_init_queue_mutex()
582 produce_q->kernel_if->mutex = &produce_q->kernel_if->__mutex; in qp_init_queue_mutex()
583 consume_q->kernel_if->mutex = &produce_q->kernel_if->__mutex; in qp_init_queue_mutex()
584 mutex_init(produce_q->kernel_if->mutex); in qp_init_queue_mutex()
594 if (produce_q->kernel_if->host) { in qp_cleanup_queue_mutex()
595 produce_q->kernel_if->mutex = NULL; in qp_cleanup_queue_mutex()
596 consume_q->kernel_if->mutex = NULL; in qp_cleanup_queue_mutex()
607 if (queue->kernel_if->host) in qp_acquire_queue_mutex()
608 mutex_lock(queue->kernel_if->mutex); in qp_acquire_queue_mutex()
618 if (queue->kernel_if->host) in qp_release_queue_mutex()
619 mutex_unlock(queue->kernel_if->mutex); in qp_release_queue_mutex()
654 produce_q->kernel_if->num_pages, in qp_host_get_user_memory()
656 produce_q->kernel_if->u.h.header_page); in qp_host_get_user_memory()
657 if (retval < (int)produce_q->kernel_if->num_pages) { in qp_host_get_user_memory()
660 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
667 consume_q->kernel_if->num_pages, in qp_host_get_user_memory()
669 consume_q->kernel_if->u.h.header_page); in qp_host_get_user_memory()
670 if (retval < (int)consume_q->kernel_if->num_pages) { in qp_host_get_user_memory()
673 qp_release_pages(consume_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
675 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
676 produce_q->kernel_if->num_pages, false); in qp_host_get_user_memory()
703 produce_q->kernel_if->num_pages * PAGE_SIZE; in qp_host_register_user_memory()
716 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_unregister_user_memory()
717 produce_q->kernel_if->num_pages, true); in qp_host_unregister_user_memory()
718 memset(produce_q->kernel_if->u.h.header_page, 0, in qp_host_unregister_user_memory()
719 sizeof(*produce_q->kernel_if->u.h.header_page) * in qp_host_unregister_user_memory()
720 produce_q->kernel_if->num_pages); in qp_host_unregister_user_memory()
721 qp_release_pages(consume_q->kernel_if->u.h.header_page, in qp_host_unregister_user_memory()
722 consume_q->kernel_if->num_pages, true); in qp_host_unregister_user_memory()
723 memset(consume_q->kernel_if->u.h.header_page, 0, in qp_host_unregister_user_memory()
724 sizeof(*consume_q->kernel_if->u.h.header_page) * in qp_host_unregister_user_memory()
725 consume_q->kernel_if->num_pages); in qp_host_unregister_user_memory()
747 if (produce_q->kernel_if->u.h.header_page == NULL || in qp_host_map_queues()
748 *produce_q->kernel_if->u.h.header_page == NULL) in qp_host_map_queues()
751 headers[0] = *produce_q->kernel_if->u.h.header_page; in qp_host_map_queues()
752 headers[1] = *consume_q->kernel_if->u.h.header_page; in qp_host_map_queues()