Lines Matching refs:iter
98 struct mthca_icm_iter *iter)
100 iter->icm = icm;
101 iter->chunk = list_empty(&icm->chunk_list) ?
104 iter->page_idx = 0;
107 static inline int mthca_icm_last(struct mthca_icm_iter *iter)
109 return !iter->chunk;
112 static inline void mthca_icm_next(struct mthca_icm_iter *iter)
114 if (++iter->page_idx >= iter->chunk->nsg) {
115 if (iter->chunk->list.next == &iter->icm->chunk_list) {
116 iter->chunk = NULL;
120 iter->chunk = list_entry(iter->chunk->list.next,
122 iter->page_idx = 0;
126 static inline dma_addr_t mthca_icm_addr(struct mthca_icm_iter *iter)
128 return sg_dma_address(&iter->chunk->mem[iter->page_idx]);
131 static inline unsigned long mthca_icm_size(struct mthca_icm_iter *iter)
133 return sg_dma_len(&iter->chunk->mem[iter->page_idx]);