Lines Matching refs:sgt

72 		if (dobj->sgt)  in armada_gem_free_object()
74 dobj->sgt, DMA_TO_DEVICE); in armada_gem_free_object()
428 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local
431 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in armada_gem_prime_map_dma_buf()
432 if (!sgt) in armada_gem_prime_map_dma_buf()
440 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
445 for_each_sg(sgt->sgl, sg, count, i) { in armada_gem_prime_map_dma_buf()
457 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) { in armada_gem_prime_map_dma_buf()
458 num = sgt->nents; in armada_gem_prime_map_dma_buf()
463 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
466 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0); in armada_gem_prime_map_dma_buf()
468 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in armada_gem_prime_map_dma_buf()
472 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
474 sg_dma_address(sgt->sgl) = dobj->dev_addr; in armada_gem_prime_map_dma_buf()
475 sg_dma_len(sgt->sgl) = dobj->obj.size; in armada_gem_prime_map_dma_buf()
479 return sgt; in armada_gem_prime_map_dma_buf()
482 for_each_sg(sgt->sgl, sg, num, i) in armada_gem_prime_map_dma_buf()
485 sg_free_table(sgt); in armada_gem_prime_map_dma_buf()
487 kfree(sgt); in armada_gem_prime_map_dma_buf()
492 struct sg_table *sgt, enum dma_data_direction dir) in armada_gem_prime_unmap_dma_buf() argument
499 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in armada_gem_prime_unmap_dma_buf()
503 for_each_sg(sgt->sgl, sg, sgt->nents, i) in armada_gem_prime_unmap_dma_buf()
507 sg_free_table(sgt); in armada_gem_prime_unmap_dma_buf()
508 kfree(sgt); in armada_gem_prime_unmap_dma_buf()
595 dobj->sgt = dma_buf_map_attachment(dobj->obj.import_attach, in armada_gem_map_import()
597 if (!dobj->sgt) { in armada_gem_map_import()
601 if (IS_ERR(dobj->sgt)) { in armada_gem_map_import()
602 ret = PTR_ERR(dobj->sgt); in armada_gem_map_import()
603 dobj->sgt = NULL; in armada_gem_map_import()
607 if (dobj->sgt->nents > 1) { in armada_gem_map_import()
611 if (sg_dma_len(dobj->sgt->sgl) < dobj->obj.size) { in armada_gem_map_import()
615 dobj->dev_addr = sg_dma_address(dobj->sgt->sgl); in armada_gem_map_import()