Lines Matching refs:mtk_gem

47 	struct mtk_drm_gem_obj *mtk_gem;  in mtk_drm_gem_create()  local
51 mtk_gem = mtk_drm_gem_init(dev, size); in mtk_drm_gem_create()
52 if (IS_ERR(mtk_gem)) in mtk_drm_gem_create()
53 return ERR_CAST(mtk_gem); in mtk_drm_gem_create()
55 obj = &mtk_gem->base; in mtk_drm_gem_create()
57 mtk_gem->dma_attrs = DMA_ATTR_WRITE_COMBINE; in mtk_drm_gem_create()
60 mtk_gem->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING; in mtk_drm_gem_create()
62 mtk_gem->cookie = dma_alloc_attrs(priv->dma_dev, obj->size, in mtk_drm_gem_create()
63 &mtk_gem->dma_addr, GFP_KERNEL, in mtk_drm_gem_create()
64 mtk_gem->dma_attrs); in mtk_drm_gem_create()
65 if (!mtk_gem->cookie) { in mtk_drm_gem_create()
72 mtk_gem->kvaddr = mtk_gem->cookie; in mtk_drm_gem_create()
75 mtk_gem->cookie, &mtk_gem->dma_addr, in mtk_drm_gem_create()
78 return mtk_gem; in mtk_drm_gem_create()
82 kfree(mtk_gem); in mtk_drm_gem_create()
88 struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj); in mtk_drm_gem_free_object() local
91 if (mtk_gem->sg) in mtk_drm_gem_free_object()
92 drm_prime_gem_destroy(obj, mtk_gem->sg); in mtk_drm_gem_free_object()
94 dma_free_attrs(priv->dma_dev, obj->size, mtk_gem->cookie, in mtk_drm_gem_free_object()
95 mtk_gem->dma_addr, mtk_gem->dma_attrs); in mtk_drm_gem_free_object()
100 kfree(mtk_gem); in mtk_drm_gem_free_object()
106 struct mtk_drm_gem_obj *mtk_gem; in mtk_drm_gem_dumb_create() local
112 mtk_gem = mtk_drm_gem_create(dev, args->size, false); in mtk_drm_gem_dumb_create()
113 if (IS_ERR(mtk_gem)) in mtk_drm_gem_dumb_create()
114 return PTR_ERR(mtk_gem); in mtk_drm_gem_dumb_create()
120 ret = drm_gem_handle_create(file_priv, &mtk_gem->base, &args->handle); in mtk_drm_gem_dumb_create()
125 drm_gem_object_put_unlocked(&mtk_gem->base); in mtk_drm_gem_dumb_create()
130 mtk_drm_gem_free_object(&mtk_gem->base); in mtk_drm_gem_dumb_create()
139 struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj); in mtk_drm_gem_object_mmap() local
149 ret = dma_mmap_attrs(priv->dma_dev, vma, mtk_gem->cookie, in mtk_drm_gem_object_mmap()
150 mtk_gem->dma_addr, obj->size, mtk_gem->dma_attrs); in mtk_drm_gem_object_mmap()
190 struct mtk_drm_gem_obj *mtk_gem = to_mtk_gem_obj(obj); in mtk_gem_prime_get_sg_table() local
199 ret = dma_get_sgtable_attrs(priv->dma_dev, sgt, mtk_gem->cookie, in mtk_gem_prime_get_sg_table()
200 mtk_gem->dma_addr, obj->size, in mtk_gem_prime_get_sg_table()
201 mtk_gem->dma_attrs); in mtk_gem_prime_get_sg_table()
214 struct mtk_drm_gem_obj *mtk_gem; in mtk_gem_prime_import_sg_table() local
220 mtk_gem = mtk_drm_gem_init(dev, attach->dmabuf->size); in mtk_gem_prime_import_sg_table()
222 if (IS_ERR(mtk_gem)) in mtk_gem_prime_import_sg_table()
223 return ERR_CAST(mtk_gem); in mtk_gem_prime_import_sg_table()
235 mtk_gem->dma_addr = sg_dma_address(sg->sgl); in mtk_gem_prime_import_sg_table()
236 mtk_gem->sg = sg; in mtk_gem_prime_import_sg_table()
238 return &mtk_gem->base; in mtk_gem_prime_import_sg_table()
241 kfree(mtk_gem); in mtk_gem_prime_import_sg_table()