Lines Matching defs:chunk

117  struct ib_umem_chunk *chunk, *tmp;
120 list_for_each_entry_safe(chunk, tmp, &umem->chunk_list, list) {
121 ib_dma_unmap_sg_attrs(dev, chunk->page_list,
122 chunk->nents, DMA_BIDIRECTIONAL, &chunk->attrs);
123 for (i = 0; i < chunk->nents; ++i) {
124 struct page *page = sg_page(&chunk->page_list[i]);
129 kfree(chunk);
132 struct ib_umem_chunk *chunk, *tmp;
137 list_for_each_entry_safe(chunk, tmp, &umem->chunk_list, list) {
138 ib_dma_unmap_sg_attrs(dev, chunk->page_list,
139 chunk->nents, DMA_BIDIRECTIONAL, &chunk->attrs);
140 for (i = 0; i < chunk->nents; ++i) {
141 struct page *page = sg_page(&chunk->page_list[i]);
152 kfree(chunk);
176 struct ib_umem_chunk *chunk;
261 chunk = kmalloc(sizeof *chunk + sizeof (struct scatterlist) *
264 if (!chunk) {
269 chunk->attrs = attrs;
270 chunk->nents = min_t(int, ret, IB_UMEM_MAX_PAGE_CHUNK);
271 sg_init_table(chunk->page_list, chunk->nents);
272 for (i = 0; i < chunk->nents; ++i) {
276 sg_set_page(&chunk->page_list[i], page_list[i + off], PAGE_SIZE, 0);
279 chunk->nmap = ib_dma_map_sg_attrs(context->device,
280 &chunk->page_list[0],
281 chunk->nents,
284 if (chunk->nmap <= 0) {
285 for (i = 0; i < chunk->nents; ++i)
286 put_page(sg_page(&chunk->page_list[i]));
287 kfree(chunk);
293 ret -= chunk->nents;
294 off += chunk->nents;
295 list_add_tail(&chunk->list, &umem->chunk_list);
318 struct ib_umem_chunk *chunk;
385 chunk = kmalloc(sizeof(*chunk) + (sizeof(struct scatterlist) * ents),
387 if (!chunk) {
392 chunk->attrs = attrs;
393 chunk->nents = ents;
394 sg_init_table(&chunk->page_list[0], ents);
395 for (i = 0; i < chunk->nents; ++i) {
401 kfree(chunk);
404 sg_set_page(&chunk->page_list[i], PHYS_TO_VM_PAGE(pa), PAGE_SIZE,
410 chunk->nmap = ib_dma_map_sg_attrs(context->device, &chunk->page_list[0],
411 chunk->nents, DMA_BIDIRECTIONAL, &attrs);
412 if (chunk->nmap != chunk->nents) {
413 kfree(chunk);
418 list_add_tail(&chunk->list, &umem->chunk_list);
517 struct ib_umem_chunk *chunk;
525 list_for_each_entry(chunk, &umem->chunk_list, list)
526 for (i = 0; i < chunk->nmap; ++i)
527 n += sg_dma_len(&chunk->page_list[i]) >> shift;