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
71 ret = dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr, in rockchip_drm_gem_object_mmap()
72 obj->size, &rk_obj->dma_attrs); in rockchip_drm_gem_object_mmap()
113 struct rockchip_gem_object *rk_obj; in rockchip_gem_create_object() local
119 rk_obj = kzalloc(sizeof(*rk_obj), GFP_KERNEL); in rockchip_gem_create_object()
120 if (!rk_obj) in rockchip_gem_create_object()
123 obj = &rk_obj->base; in rockchip_gem_create_object()
127 ret = rockchip_gem_alloc_buf(rk_obj, alloc_kmap); in rockchip_gem_create_object()
131 return rk_obj; in rockchip_gem_create_object()
134 kfree(rk_obj); in rockchip_gem_create_object()
144 struct rockchip_gem_object *rk_obj; in rockchip_gem_free_object() local
148 rk_obj = to_rockchip_obj(obj); in rockchip_gem_free_object()
150 rockchip_gem_free_buf(rk_obj); in rockchip_gem_free_object()
152 kfree(rk_obj); in rockchip_gem_free_object()
167 struct rockchip_gem_object *rk_obj; in rockchip_gem_create_with_handle() local
171 rk_obj = rockchip_gem_create_object(drm, size, false); in rockchip_gem_create_with_handle()
172 if (IS_ERR(rk_obj)) in rockchip_gem_create_with_handle()
173 return ERR_CAST(rk_obj); in rockchip_gem_create_with_handle()
175 obj = &rk_obj->base; in rockchip_gem_create_with_handle()
188 return rk_obj; in rockchip_gem_create_with_handle()
237 struct rockchip_gem_object *rk_obj; in rockchip_gem_dumb_create() local
251 rk_obj = rockchip_gem_create_with_handle(file_priv, dev, args->size, in rockchip_gem_dumb_create()
254 return PTR_ERR_OR_ZERO(rk_obj); in rockchip_gem_dumb_create()
265 struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); in rockchip_gem_prime_get_sg_table() local
274 ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr, in rockchip_gem_prime_get_sg_table()
275 rk_obj->dma_addr, obj->size, in rockchip_gem_prime_get_sg_table()
276 &rk_obj->dma_attrs); in rockchip_gem_prime_get_sg_table()
288 struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj); in rockchip_gem_prime_vmap() local
290 if (dma_get_attr(DMA_ATTR_NO_KERNEL_MAPPING, &rk_obj->dma_attrs)) in rockchip_gem_prime_vmap()
293 return rk_obj->kvaddr; in rockchip_gem_prime_vmap()