Lines Matching refs:sgt
76 if (dobj->sgt) in armada_gem_free_object()
78 dobj->sgt, DMA_TO_DEVICE); in armada_gem_free_object()
429 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local
432 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in armada_gem_prime_map_dma_buf()
433 if (!sgt) in armada_gem_prime_map_dma_buf()
441 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
446 for_each_sg(sgt->sgl, sg, count, i) { in armada_gem_prime_map_dma_buf()
458 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) { in armada_gem_prime_map_dma_buf()
459 num = sgt->nents; in armada_gem_prime_map_dma_buf()
464 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
467 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0); in armada_gem_prime_map_dma_buf()
469 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in armada_gem_prime_map_dma_buf()
473 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
475 sg_dma_address(sgt->sgl) = dobj->dev_addr; in armada_gem_prime_map_dma_buf()
476 sg_dma_len(sgt->sgl) = dobj->obj.size; in armada_gem_prime_map_dma_buf()
480 return sgt; in armada_gem_prime_map_dma_buf()
483 for_each_sg(sgt->sgl, sg, num, i) in armada_gem_prime_map_dma_buf()
486 sg_free_table(sgt); in armada_gem_prime_map_dma_buf()
488 kfree(sgt); in armada_gem_prime_map_dma_buf()
493 struct sg_table *sgt, enum dma_data_direction dir) in armada_gem_prime_unmap_dma_buf() argument
500 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in armada_gem_prime_unmap_dma_buf()
504 for_each_sg(sgt->sgl, sg, sgt->nents, i) in armada_gem_prime_unmap_dma_buf()
508 sg_free_table(sgt); in armada_gem_prime_unmap_dma_buf()
509 kfree(sgt); in armada_gem_prime_unmap_dma_buf()
596 dobj->sgt = dma_buf_map_attachment(dobj->obj.import_attach, in armada_gem_map_import()
598 if (!dobj->sgt) { in armada_gem_map_import()
602 if (IS_ERR(dobj->sgt)) { in armada_gem_map_import()
603 ret = PTR_ERR(dobj->sgt); in armada_gem_map_import()
604 dobj->sgt = NULL; in armada_gem_map_import()
608 if (dobj->sgt->nents > 1) { in armada_gem_map_import()
612 if (sg_dma_len(dobj->sgt->sgl) < dobj->obj.size) { in armada_gem_map_import()
616 dobj->dev_addr = sg_dma_address(dobj->sgt->sgl); in armada_gem_map_import()