Lines Matching refs:sgt

72 		dma_buf_unmap_attachment(dobj->obj.import_attach, dobj->sgt,  in armada_gem_free_object()
427 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local
430 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in armada_gem_prime_map_dma_buf()
431 if (!sgt) in armada_gem_prime_map_dma_buf()
439 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
444 for_each_sg(sgt->sgl, sg, count, i) { in armada_gem_prime_map_dma_buf()
456 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) { in armada_gem_prime_map_dma_buf()
457 num = sgt->nents; in armada_gem_prime_map_dma_buf()
462 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
465 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0); in armada_gem_prime_map_dma_buf()
467 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in armada_gem_prime_map_dma_buf()
471 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
473 sg_dma_address(sgt->sgl) = dobj->dev_addr; in armada_gem_prime_map_dma_buf()
474 sg_dma_len(sgt->sgl) = dobj->obj.size; in armada_gem_prime_map_dma_buf()
478 return sgt; in armada_gem_prime_map_dma_buf()
481 for_each_sg(sgt->sgl, sg, num, i) in armada_gem_prime_map_dma_buf()
484 sg_free_table(sgt); in armada_gem_prime_map_dma_buf()
486 kfree(sgt); in armada_gem_prime_map_dma_buf()
491 struct sg_table *sgt, enum dma_data_direction dir) in armada_gem_prime_unmap_dma_buf() argument
498 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in armada_gem_prime_unmap_dma_buf()
502 for_each_sg(sgt->sgl, sg, sgt->nents, i) in armada_gem_prime_unmap_dma_buf()
506 sg_free_table(sgt); in armada_gem_prime_unmap_dma_buf()
507 kfree(sgt); in armada_gem_prime_unmap_dma_buf()
594 dobj->sgt = dma_buf_map_attachment(dobj->obj.import_attach, in armada_gem_map_import()
596 if (!dobj->sgt) { in armada_gem_map_import()
600 if (IS_ERR(dobj->sgt)) { in armada_gem_map_import()
601 ret = PTR_ERR(dobj->sgt); in armada_gem_map_import()
602 dobj->sgt = NULL; in armada_gem_map_import()
606 if (dobj->sgt->nents > 1) { in armada_gem_map_import()
610 if (sg_dma_len(dobj->sgt->sgl) < dobj->obj.size) { in armada_gem_map_import()
614 dobj->dev_addr = sg_dma_address(dobj->sgt->sgl); in armada_gem_map_import()