Lines Matching refs:window

127 	struct scif_window *window;  in __scif_rma_destroy_tcw()  local
135 window = list_entry(item, struct scif_window, list); in __scif_rma_destroy_tcw()
136 ep = (struct scif_endpt *)window->ep; in __scif_rma_destroy_tcw()
139 start_va = window->va_for_temp; in __scif_rma_destroy_tcw()
140 end_va = start_va + (window->nr_pages << PAGE_SHIFT); in __scif_rma_destroy_tcw()
145 __scif_rma_destroy_tcw_helper(window); in __scif_rma_destroy_tcw()
603 struct scif_window *window; in scif_rma_destroy_windows() local
611 window = list_entry(item, struct scif_window, in scif_rma_destroy_windows()
613 ep = (struct scif_endpt *)window->ep; in scif_rma_destroy_windows()
616 list_del_init(&window->list); in scif_rma_destroy_windows()
622 window->unreg_state = OP_COMPLETED; in scif_rma_destroy_windows()
626 if (window->unreg_state == OP_COMPLETED) { in scif_rma_destroy_windows()
627 if (window->type == SCIF_WINDOW_SELF) in scif_rma_destroy_windows()
628 scif_destroy_window(ep, window); in scif_rma_destroy_windows()
630 scif_destroy_remote_window(window); in scif_rma_destroy_windows()
647 struct scif_window *window; in scif_rma_destroy_tcw_invalid() local
655 window = list_entry(item, struct scif_window, list); in scif_rma_destroy_tcw_invalid()
656 ep = (struct scif_endpt *)window->ep; in scif_rma_destroy_tcw_invalid()
658 list_del_init(&window->list); in scif_rma_destroy_tcw_invalid()
664 atomic_sub(window->nr_pages, in scif_rma_destroy_tcw_invalid()
666 scif_destroy_window(ep, window); in scif_rma_destroy_tcw_invalid()
679 void *_get_local_va(off_t off, struct scif_window *window, size_t len) in _get_local_va() argument
681 int page_nr = (off - window->offset) >> PAGE_SHIFT; in _get_local_va()
685 if (window->type == SCIF_WINDOW_SELF) { in _get_local_va()
686 struct page **pages = window->pinned_pages->pages; in _get_local_va()
694 void *ioremap_remote(off_t off, struct scif_window *window, in ioremap_remote() argument
698 dma_addr_t phys = scif_off_to_dma_addr(window, off, NULL, iter); in ioremap_remote()
705 if (!scifdev_self(dev) && window->type == SCIF_WINDOW_PEER && in ioremap_remote()
780 dma_addr_t scif_off_to_dma_addr(struct scif_window *window, s64 off, in scif_off_to_dma_addr() argument
787 if (window->nr_pages == window->nr_contig_chunks) { in scif_off_to_dma_addr()
788 page_nr = (off - window->offset) >> PAGE_SHIFT; in scif_off_to_dma_addr()
793 return window->dma_addr[page_nr] | page_off; in scif_off_to_dma_addr()
800 start = window->offset; in scif_off_to_dma_addr()
802 for (; i < window->nr_contig_chunks; i++) { in scif_off_to_dma_addr()
803 end = start + (window->num_pages[i] << PAGE_SHIFT); in scif_off_to_dma_addr()
811 return (window->dma_addr[i] + (off - start)); in scif_off_to_dma_addr()
813 start += (window->num_pages[i] << PAGE_SHIFT); in scif_off_to_dma_addr()
817 __func__, __LINE__, window, off); in scif_off_to_dma_addr()
824 static void scif_rma_local_cpu_copy(s64 offset, struct scif_window *window, in scif_rma_local_cpu_copy() argument
838 window_virt = _get_local_va(offset, window, loop_len); in scif_rma_local_cpu_copy()
850 end_offset = window->offset + in scif_rma_local_cpu_copy()
851 (window->nr_pages << PAGE_SHIFT); in scif_rma_local_cpu_copy()
854 window = list_entry_next(window, list); in scif_rma_local_cpu_copy()
855 end_offset = window->offset + in scif_rma_local_cpu_copy()
856 (window->nr_pages << PAGE_SHIFT); in scif_rma_local_cpu_copy()
859 window_virt = _get_local_va(offset, window, loop_len); in scif_rma_local_cpu_copy()
910 struct scif_window *window; in scif_rma_list_dma_copy_unaligned() local
919 window = work->dst_window; in scif_rma_list_dma_copy_unaligned()
922 window = work->src_window; in scif_rma_list_dma_copy_unaligned()
929 window_virt_addr = ioremap_remote(offset, window, in scif_rma_list_dma_copy_unaligned()
953 end_offset = window->offset + in scif_rma_list_dma_copy_unaligned()
954 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_dma_copy_unaligned()
960 window = list_entry_next(window, list); in scif_rma_list_dma_copy_unaligned()
961 end_offset = window->offset + in scif_rma_list_dma_copy_unaligned()
962 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_dma_copy_unaligned()
969 window_dma_addr = scif_off_to_dma_addr(window, offset, in scif_rma_list_dma_copy_unaligned()
1067 window = list_entry_next(window, list); in scif_rma_list_dma_copy_unaligned()
1068 end_offset = window->offset + in scif_rma_list_dma_copy_unaligned()
1069 (window->nr_pages << PAGE_SHIFT); in scif_rma_list_dma_copy_unaligned()
1071 window_virt_addr = ioremap_remote(offset, window, tail_len, in scif_rma_list_dma_copy_unaligned()