Lines Matching refs:kernel_if

281 					  queue->kernel_if->u.g.vas[i],  in qp_free_queue()
282 queue->kernel_if->u.g.pas[i]); in qp_free_queue()
300 size_t queue_size = sizeof(*queue) + sizeof(*queue->kernel_if); in qp_alloc_queue()
305 (sizeof(*queue->kernel_if->u.g.pas) + in qp_alloc_queue()
306 sizeof(*queue->kernel_if->u.g.vas))) in qp_alloc_queue()
309 pas_size = num_pages * sizeof(*queue->kernel_if->u.g.pas); in qp_alloc_queue()
310 vas_size = num_pages * sizeof(*queue->kernel_if->u.g.vas); in qp_alloc_queue()
319 queue->kernel_if = (struct vmci_queue_kern_if *)(queue + 1); in qp_alloc_queue()
320 queue->kernel_if->mutex = NULL; in qp_alloc_queue()
321 queue->kernel_if->num_pages = num_pages; in qp_alloc_queue()
322 queue->kernel_if->u.g.pas = (dma_addr_t *)(queue->kernel_if + 1); in qp_alloc_queue()
323 queue->kernel_if->u.g.vas = in qp_alloc_queue()
324 (void **)((u8 *)queue->kernel_if->u.g.pas + pas_size); in qp_alloc_queue()
325 queue->kernel_if->host = false; in qp_alloc_queue()
328 queue->kernel_if->u.g.vas[i] = in qp_alloc_queue()
330 &queue->kernel_if->u.g.pas[i], in qp_alloc_queue()
332 if (!queue->kernel_if->u.g.vas[i]) { in qp_alloc_queue()
340 queue->q_header = queue->kernel_if->u.g.vas[0]; in qp_alloc_queue()
357 struct vmci_queue_kern_if *kernel_if = queue->kernel_if; in __qp_memcpy_to_queue() local
368 if (kernel_if->host) in __qp_memcpy_to_queue()
369 va = kmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_to_queue()
371 va = kernel_if->u.g.vas[page_index + 1]; in __qp_memcpy_to_queue()
388 if (kernel_if->host) in __qp_memcpy_to_queue()
389 kunmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_to_queue()
398 if (kernel_if->host) in __qp_memcpy_to_queue()
399 kunmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_to_queue()
417 struct vmci_queue_kern_if *kernel_if = queue->kernel_if; in __qp_memcpy_from_queue() local
428 if (kernel_if->host) in __qp_memcpy_from_queue()
429 va = kmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_from_queue()
431 va = kernel_if->u.g.vas[page_index + 1]; in __qp_memcpy_from_queue()
448 if (kernel_if->host) in __qp_memcpy_from_queue()
449 kunmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_from_queue()
458 if (kernel_if->host) in __qp_memcpy_from_queue()
459 kunmap(kernel_if->u.h.page[page_index]); in __qp_memcpy_from_queue()
505 produce_q->kernel_if->u.g.pas[i] >> PAGE_SHIFT; in qp_alloc_ppn_set()
518 consume_q->kernel_if->u.g.pas[i] >> PAGE_SHIFT; in qp_alloc_ppn_set()
628 const size_t queue_size = sizeof(*queue) + sizeof(*(queue->kernel_if)); in qp_host_alloc_queue()
631 sizeof(*queue->kernel_if->u.h.page)) in qp_host_alloc_queue()
634 queue_page_size = num_pages * sizeof(*queue->kernel_if->u.h.page); in qp_host_alloc_queue()
640 queue->kernel_if = (struct vmci_queue_kern_if *)(queue + 1); in qp_host_alloc_queue()
641 queue->kernel_if->host = true; in qp_host_alloc_queue()
642 queue->kernel_if->mutex = NULL; in qp_host_alloc_queue()
643 queue->kernel_if->num_pages = num_pages; in qp_host_alloc_queue()
644 queue->kernel_if->u.h.header_page = in qp_host_alloc_queue()
646 queue->kernel_if->u.h.page = in qp_host_alloc_queue()
647 &queue->kernel_if->u.h.header_page[1]; in qp_host_alloc_queue()
677 if (produce_q->kernel_if->host) { in qp_init_queue_mutex()
678 produce_q->kernel_if->mutex = &produce_q->kernel_if->__mutex; in qp_init_queue_mutex()
679 consume_q->kernel_if->mutex = &produce_q->kernel_if->__mutex; in qp_init_queue_mutex()
680 mutex_init(produce_q->kernel_if->mutex); in qp_init_queue_mutex()
690 if (produce_q->kernel_if->host) { in qp_cleanup_queue_mutex()
691 produce_q->kernel_if->mutex = NULL; in qp_cleanup_queue_mutex()
692 consume_q->kernel_if->mutex = NULL; in qp_cleanup_queue_mutex()
703 if (queue->kernel_if->host) in qp_acquire_queue_mutex()
704 mutex_lock(queue->kernel_if->mutex); in qp_acquire_queue_mutex()
714 if (queue->kernel_if->host) in qp_release_queue_mutex()
715 mutex_unlock(queue->kernel_if->mutex); in qp_release_queue_mutex()
750 produce_q->kernel_if->num_pages, 1, in qp_host_get_user_memory()
751 produce_q->kernel_if->u.h.header_page); in qp_host_get_user_memory()
752 if (retval < produce_q->kernel_if->num_pages) { in qp_host_get_user_memory()
755 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
762 consume_q->kernel_if->num_pages, 1, in qp_host_get_user_memory()
763 consume_q->kernel_if->u.h.header_page); in qp_host_get_user_memory()
764 if (retval < consume_q->kernel_if->num_pages) { in qp_host_get_user_memory()
767 qp_release_pages(consume_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
769 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_get_user_memory()
770 produce_q->kernel_if->num_pages, false); in qp_host_get_user_memory()
797 produce_q->kernel_if->num_pages * PAGE_SIZE; in qp_host_register_user_memory()
810 qp_release_pages(produce_q->kernel_if->u.h.header_page, in qp_host_unregister_user_memory()
811 produce_q->kernel_if->num_pages, true); in qp_host_unregister_user_memory()
812 memset(produce_q->kernel_if->u.h.header_page, 0, in qp_host_unregister_user_memory()
813 sizeof(*produce_q->kernel_if->u.h.header_page) * in qp_host_unregister_user_memory()
814 produce_q->kernel_if->num_pages); in qp_host_unregister_user_memory()
815 qp_release_pages(consume_q->kernel_if->u.h.header_page, in qp_host_unregister_user_memory()
816 consume_q->kernel_if->num_pages, true); in qp_host_unregister_user_memory()
817 memset(consume_q->kernel_if->u.h.header_page, 0, in qp_host_unregister_user_memory()
818 sizeof(*consume_q->kernel_if->u.h.header_page) * in qp_host_unregister_user_memory()
819 consume_q->kernel_if->num_pages); in qp_host_unregister_user_memory()
841 if (produce_q->kernel_if->u.h.header_page == NULL || in qp_host_map_queues()
842 *produce_q->kernel_if->u.h.header_page == NULL) in qp_host_map_queues()
845 headers[0] = *produce_q->kernel_if->u.h.header_page; in qp_host_map_queues()
846 headers[1] = *consume_q->kernel_if->u.h.header_page; in qp_host_map_queues()