• Home
  • Raw
  • Download

Lines Matching full:window

34 	struct scif_window *window = NULL;  in scif_recv_munmap()  local
40 req.out_window = &window; in scif_recv_munmap()
49 /* Does a valid window exist? */ in scif_recv_munmap()
57 scif_put_window(window, window->nr_pages); in scif_recv_munmap()
59 if (!window->ref_count) { in scif_recv_munmap()
62 list_del_init(&window->list); in scif_recv_munmap()
63 scif_free_window_offset(ep, window, window->offset); in scif_recv_munmap()
67 if (window && !window->ref_count) in scif_recv_munmap()
68 scif_queue_for_cleanup(window, &scif_info.rma); in scif_recv_munmap()
128 * the window has not yet been unregistered we can drop the ref count
134 struct scif_window *window; in __scif_cleanup_rma_for_zombies() local
137 window = list_entry(pos, struct scif_window, list); in __scif_cleanup_rma_for_zombies()
138 if (window->ref_count) in __scif_cleanup_rma_for_zombies()
139 scif_put_window(window, window->nr_pages); in __scif_cleanup_rma_for_zombies()
144 if (!window->ref_count) { in __scif_cleanup_rma_for_zombies()
146 list_del_init(&window->list); in __scif_cleanup_rma_for_zombies()
147 scif_queue_for_cleanup(window, &scif_info.rma); in __scif_cleanup_rma_for_zombies()
226 struct scif_window *window = NULL; in scif_get_pages() local
244 req.out_window = &window; in scif_get_pages()
252 /* Does a valid window exist? */ in scif_get_pages()
283 (*pages)->cookie = window; in scif_get_pages()
285 (*pages)->prot_flags = window->prot; in scif_get_pages()
289 __scif_off_to_dma_addr(window, offset + in scif_get_pages()
300 scif_get_window(window, nr_pages); in scif_get_pages()
322 struct scif_window *window; in scif_put_pages() local
328 window = pages->cookie; in scif_put_pages()
330 if (!window || window->magic != SCIFEP_MAGIC) in scif_put_pages()
333 ep = (struct scif_endpt *)window->ep; in scif_put_pages()
345 scif_put_window(window, pages->nr_pages); in scif_put_pages()
347 /* Initiate window destruction if ref count is zero */ in scif_put_pages()
348 if (!window->ref_count) { in scif_put_pages()
349 list_del(&window->list); in scif_put_pages()
353 /* Inform the peer about this window being destroyed. */ in scif_put_pages()
356 msg.payload[0] = window->peer_window; in scif_put_pages()
359 /* Destroy this window from the peer's registered AS */ in scif_put_pages()
360 scif_destroy_remote_window(window); in scif_put_pages()
385 struct scif_window *window = start_window; in scif_rma_list_mmap() local
395 list_for_each_entry_from(window, head, list) { in scif_rma_list_mmap()
396 end_offset = window->offset + in scif_rma_list_mmap()
397 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_mmap()
401 scif_init_window_iter(window, &src_win_iter); in scif_rma_list_mmap()
403 phys_addr = scif_off_to_dma_addr(window, loop_offset, in scif_rma_list_mmap()
429 window = start_window; in scif_rma_list_mmap()
431 list_for_each_entry_from(window, head, list) { in scif_rma_list_mmap()
432 end_offset = window->offset + in scif_rma_list_mmap()
433 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_mmap()
437 scif_get_window(window, loop_nr_pages); in scif_rma_list_mmap()
453 * Traverse the remote registration list starting from window:
466 struct scif_window *window = start_window, *_window; in scif_rma_list_munmap() local
472 list_for_each_entry_safe_from(window, _window, head, list) { in scif_rma_list_munmap()
473 end_offset = window->offset + in scif_rma_list_munmap()
474 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_munmap()
478 scif_put_window(window, loop_nr_pages); in scif_rma_list_munmap()
479 if (!window->ref_count) { in scif_rma_list_munmap()
485 msg.payload[0] = window->peer_window; in scif_rma_list_munmap()
488 list_del(&window->list); in scif_rma_list_munmap()
489 /* Destroy this window from the peer's registered AS */ in scif_rma_list_munmap()
490 scif_destroy_remote_window(window); in scif_rma_list_munmap()
500 * The private data field of each VMA used to mmap a remote window
504 struct scif_endpt *ep; /* End point for remote window */
505 s64 offset; /* offset within remote window */
558 struct scif_window *window = NULL; in scif_munmap() local
571 req.out_window = &window; in scif_munmap()
585 scif_rma_list_munmap(window, offset, nr_pages); in scif_munmap()
604 * scif_mmap - Map pages in virtual address space to a remote window.
614 struct scif_window *window = NULL; in scif_mmap() local
643 req.out_window = &window; in scif_mmap()
651 /* Does a valid window exist? */ in scif_mmap()
681 err = scif_rma_list_mmap(window, start_offset, nr_pages, vma); in scif_mmap()