Lines Matching refs:iter
87 struct mlx4_icm_iter *iter)
89 iter->icm = icm;
90 iter->chunk = list_empty(&icm->chunk_list) ?
93 iter->page_idx = 0;
96 static inline int mlx4_icm_last(struct mlx4_icm_iter *iter)
98 return !iter->chunk;
101 static inline void mlx4_icm_next(struct mlx4_icm_iter *iter)
103 if (++iter->page_idx >= iter->chunk->nsg) {
104 if (iter->chunk->list.next == &iter->icm->chunk_list) {
105 iter->chunk = NULL;
109 iter->chunk = list_entry(iter->chunk->list.next,
111 iter->page_idx = 0;
115 static inline dma_addr_t mlx4_icm_addr(struct mlx4_icm_iter *iter)
117 return sg_dma_address(&iter->chunk->mem[iter->page_idx]);
120 static inline unsigned long mlx4_icm_size(struct mlx4_icm_iter *iter)
122 return sg_dma_len(&iter->chunk->mem[iter->page_idx]);