Lines Matching refs:rk_obj

25 static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj,  in rockchip_gem_alloc_buf()  argument
28 struct drm_gem_object *obj = &rk_obj->base; in rockchip_gem_alloc_buf()
31 init_dma_attrs(&rk_obj->dma_attrs); in rockchip_gem_alloc_buf()
32 dma_set_attr(DMA_ATTR_WRITE_COMBINE, &rk_obj->dma_attrs); in rockchip_gem_alloc_buf()
35 dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs); in rockchip_gem_alloc_buf()
37 rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size, in rockchip_gem_alloc_buf()
38 &rk_obj->dma_addr, GFP_KERNEL, in rockchip_gem_alloc_buf()
39 &rk_obj->dma_attrs); in rockchip_gem_alloc_buf()
40 if (!rk_obj->kvaddr) { in rockchip_gem_alloc_buf()
48 static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj) in rockchip_gem_free_buf() argument
50 struct drm_gem_object *obj = &rk_obj->base; in rockchip_gem_free_buf()
53 dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr, rk_obj->dma_addr, in rockchip_gem_free_buf()
54 &rk_obj->dma_attrs); in rockchip_gem_free_buf()
62 struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); in rockchip_drm_gem_object_mmap() local
72 ret = dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr, in rockchip_drm_gem_object_mmap()
73 obj->size, &rk_obj->dma_attrs); in rockchip_drm_gem_object_mmap()
111 struct rockchip_gem_object *rk_obj; in rockchip_gem_create_object() local
117 rk_obj = kzalloc(sizeof(*rk_obj), GFP_KERNEL); in rockchip_gem_create_object()
118 if (!rk_obj) in rockchip_gem_create_object()
121 obj = &rk_obj->base; in rockchip_gem_create_object()
125 ret = rockchip_gem_alloc_buf(rk_obj, alloc_kmap); in rockchip_gem_create_object()
129 return rk_obj; in rockchip_gem_create_object()
132 kfree(rk_obj); in rockchip_gem_create_object()
142 struct rockchip_gem_object *rk_obj; in rockchip_gem_free_object() local
146 rk_obj = to_rockchip_obj(obj); in rockchip_gem_free_object()
148 rockchip_gem_free_buf(rk_obj); in rockchip_gem_free_object()
150 kfree(rk_obj); in rockchip_gem_free_object()
165 struct rockchip_gem_object *rk_obj; in rockchip_gem_create_with_handle() local
169 rk_obj = rockchip_gem_create_object(drm, size, false); in rockchip_gem_create_with_handle()
170 if (IS_ERR(rk_obj)) in rockchip_gem_create_with_handle()
171 return ERR_CAST(rk_obj); in rockchip_gem_create_with_handle()
173 obj = &rk_obj->base; in rockchip_gem_create_with_handle()
186 return rk_obj; in rockchip_gem_create_with_handle()
231 struct rockchip_gem_object *rk_obj; in rockchip_gem_dumb_create() local
245 rk_obj = rockchip_gem_create_with_handle(file_priv, dev, args->size, in rockchip_gem_dumb_create()
248 return PTR_ERR_OR_ZERO(rk_obj); in rockchip_gem_dumb_create()
259 struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); in rockchip_gem_prime_get_sg_table() local
268 ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr, in rockchip_gem_prime_get_sg_table()
269 rk_obj->dma_addr, obj->size, in rockchip_gem_prime_get_sg_table()
270 &rk_obj->dma_attrs); in rockchip_gem_prime_get_sg_table()
282 struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); in rockchip_gem_prime_vmap() local
284 if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs)) in rockchip_gem_prime_vmap()
287 return rk_obj->kvaddr; in rockchip_gem_prime_vmap()