Lines Matching refs:viter
62 * @viter: Pointer to the iterator.
68 static bool __vmw_piter_non_sg_next(struct vmw_piter *viter)
70 return ++(viter->i) < viter->num_pages;
73 static bool __vmw_piter_sg_next(struct vmw_piter *viter)
75 bool ret = __vmw_piter_non_sg_next(viter);
77 return __sg_page_iter_dma_next(&viter->iter) && ret;
81 static dma_addr_t __vmw_piter_dma_addr(struct vmw_piter *viter)
83 return viter->addrs[viter->i];
86 static dma_addr_t __vmw_piter_sg_addr(struct vmw_piter *viter)
88 return sg_page_iter_dma_address(&viter->iter);
95 * @viter: Pointer to the iterator to initialize
103 void vmw_piter_start(struct vmw_piter *viter, const struct vmw_sg_table *vsgt,
106 viter->i = p_offset - 1;
107 viter->num_pages = vsgt->num_pages;
108 viter->pages = vsgt->pages;
111 viter->next = &__vmw_piter_non_sg_next;
112 viter->dma_address = &__vmw_piter_dma_addr;
113 viter->addrs = vsgt->addrs;
117 viter->next = &__vmw_piter_sg_next;
118 viter->dma_address = &__vmw_piter_sg_addr;
119 __sg_page_iter_start(&viter->iter.base, vsgt->sgt->sgl,