Lines Matching refs:iter
100 struct mthca_icm_iter *iter)
102 iter->icm = icm;
103 iter->chunk = list_empty(&icm->chunk_list) ?
106 iter->page_idx = 0;
109 static inline int mthca_icm_last(struct mthca_icm_iter *iter)
111 return !iter->chunk;
114 static inline void mthca_icm_next(struct mthca_icm_iter *iter)
116 if (++iter->page_idx >= iter->chunk->nsg) {
117 if (iter->chunk->list.next == &iter->icm->chunk_list) {
118 iter->chunk = NULL;
122 iter->chunk = list_entry(iter->chunk->list.next,
124 iter->page_idx = 0;
128 static inline dma_addr_t mthca_icm_addr(struct mthca_icm_iter *iter)
130 return sg_dma_address(&iter->chunk->mem[iter->page_idx]);
133 static inline unsigned long mthca_icm_size(struct mthca_icm_iter *iter)
135 return sg_dma_len(&iter->chunk->mem[iter->page_idx]);