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