Lines Matching refs:sg
82 struct scatterlist *sg, unsigned int nents);
250 static void rds_iw_set_scatterlist(struct rds_iw_scatterlist *sg, argument
253 sg->list = list;
254 sg->len = sg_len;
255 sg->dma_len = 0;
256 sg->dma_npages = 0;
257 sg->bytes = 0;
261 struct rds_iw_scatterlist *sg) argument
266 WARN_ON(sg->dma_len);
268 sg->dma_len = ib_dma_map_sg(dev, sg->list, sg->len, DMA_BIDIRECTIONAL);
269 if (unlikely(!sg->dma_len)) {
274 sg->bytes = 0;
275 sg->dma_npages = 0;
278 for (i = 0; i < sg->dma_len; ++i) {
279 unsigned int dma_len = ib_sg_dma_len(dev, &sg->list[i]);
280 u64 dma_addr = ib_sg_dma_address(dev, &sg->list[i]);
283 sg->bytes += dma_len;
292 if (i < sg->dma_len - 1)
297 sg->dma_npages += (end_addr - dma_addr) >> PAGE_SHIFT;
301 if (sg->dma_npages > fastreg_message_size)
309 ib_dma_unmap_sg(rds_iwdev->dev, sg->list, sg->len, DMA_BIDIRECTIONAL);
310 sg->dma_len = 0;
570 void *rds_iw_get_mr(struct scatterlist *sg, unsigned long nents, argument
604 ret = rds_iw_map_reg(rds_iwdev->mr_pool, ibmr, sg, nents);
728 struct scatterlist *sg, argument
736 rds_iw_set_scatterlist(&mapping->m_sg, sg, sg_len);