rk_obj             45 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	struct rockchip_gem_object *rk_obj;
rk_obj             63 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	rk_obj = rockchip_gem_create_object(dev, size, true);
rk_obj             64 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	if (IS_ERR(rk_obj))
rk_obj             67 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	private->fbdev_bo = &rk_obj->base;
rk_obj             94 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	fbi->screen_base = rk_obj->kvaddr + offset;
rk_obj             95 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	fbi->screen_size = rk_obj->base.size;
rk_obj             96 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	fbi->fix.smem_len = rk_obj->base.size;
rk_obj            100 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 		      rk_obj->kvaddr,
rk_obj            106 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 	rockchip_gem_free_object(&rk_obj->base);
rk_obj             18 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_iommu_map(struct rockchip_gem_object *rk_obj)
rk_obj             20 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_device *drm = rk_obj->base.dev;
rk_obj             26 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = drm_mm_insert_node_generic(&private->mm, &rk_obj->mm,
rk_obj             27 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 					 rk_obj->base.size, PAGE_SIZE,
rk_obj             36 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->dma_addr = rk_obj->mm.start;
rk_obj             38 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = iommu_map_sg(private->domain, rk_obj->dma_addr, rk_obj->sgt->sgl,
rk_obj             39 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			   rk_obj->sgt->nents, prot);
rk_obj             40 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (ret < rk_obj->base.size) {
rk_obj             42 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			  ret, rk_obj->base.size);
rk_obj             47 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->size = ret;
rk_obj             53 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	drm_mm_remove_node(&rk_obj->mm);
rk_obj             59 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_iommu_unmap(struct rockchip_gem_object *rk_obj)
rk_obj             61 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_device *drm = rk_obj->base.dev;
rk_obj             64 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	iommu_unmap(private->domain, rk_obj->dma_addr, rk_obj->size);
rk_obj             68 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	drm_mm_remove_node(&rk_obj->mm);
rk_obj             75 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_get_pages(struct rockchip_gem_object *rk_obj)
rk_obj             77 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_device *drm = rk_obj->base.dev;
rk_obj             81 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->pages = drm_gem_get_pages(&rk_obj->base);
rk_obj             82 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (IS_ERR(rk_obj->pages))
rk_obj             83 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return PTR_ERR(rk_obj->pages);
rk_obj             85 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->num_pages = rk_obj->base.size >> PAGE_SHIFT;
rk_obj             87 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->sgt = drm_prime_pages_to_sg(rk_obj->pages, rk_obj->num_pages);
rk_obj             88 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (IS_ERR(rk_obj->sgt)) {
rk_obj             89 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		ret = PTR_ERR(rk_obj->sgt);
rk_obj            100 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	for_each_sg(rk_obj->sgt->sgl, s, rk_obj->sgt->nents, i)
rk_obj            103 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	dma_sync_sg_for_device(drm->dev, rk_obj->sgt->sgl, rk_obj->sgt->nents,
rk_obj            109 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	drm_gem_put_pages(&rk_obj->base, rk_obj->pages, false, false);
rk_obj            113 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static void rockchip_gem_put_pages(struct rockchip_gem_object *rk_obj)
rk_obj            115 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	sg_free_table(rk_obj->sgt);
rk_obj            116 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	kfree(rk_obj->sgt);
rk_obj            117 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	drm_gem_put_pages(&rk_obj->base, rk_obj->pages, true, true);
rk_obj            120 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_alloc_iommu(struct rockchip_gem_object *rk_obj,
rk_obj            125 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = rockchip_gem_get_pages(rk_obj);
rk_obj            129 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = rockchip_gem_iommu_map(rk_obj);
rk_obj            134 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		rk_obj->kvaddr = vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
rk_obj            136 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		if (!rk_obj->kvaddr) {
rk_obj            146 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_iommu_unmap(rk_obj);
rk_obj            148 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_put_pages(rk_obj);
rk_obj            153 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_alloc_dma(struct rockchip_gem_object *rk_obj,
rk_obj            156 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_gem_object *obj = &rk_obj->base;
rk_obj            159 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->dma_attrs = DMA_ATTR_WRITE_COMBINE;
rk_obj            162 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		rk_obj->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING;
rk_obj            164 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->kvaddr = dma_alloc_attrs(drm->dev, obj->size,
rk_obj            165 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 					 &rk_obj->dma_addr, GFP_KERNEL,
rk_obj            166 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 					 rk_obj->dma_attrs);
rk_obj            167 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (!rk_obj->kvaddr) {
rk_obj            175 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static int rockchip_gem_alloc_buf(struct rockchip_gem_object *rk_obj,
rk_obj            178 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_gem_object *obj = &rk_obj->base;
rk_obj            183 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return rockchip_gem_alloc_iommu(rk_obj, alloc_kmap);
rk_obj            185 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return rockchip_gem_alloc_dma(rk_obj, alloc_kmap);
rk_obj            188 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static void rockchip_gem_free_iommu(struct rockchip_gem_object *rk_obj)
rk_obj            190 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	vunmap(rk_obj->kvaddr);
rk_obj            191 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_iommu_unmap(rk_obj);
rk_obj            192 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_put_pages(rk_obj);
rk_obj            195 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static void rockchip_gem_free_dma(struct rockchip_gem_object *rk_obj)
rk_obj            197 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct drm_gem_object *obj = &rk_obj->base;
rk_obj            200 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	dma_free_attrs(drm->dev, obj->size, rk_obj->kvaddr, rk_obj->dma_addr,
rk_obj            201 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		       rk_obj->dma_attrs);
rk_obj            204 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static void rockchip_gem_free_buf(struct rockchip_gem_object *rk_obj)
rk_obj            206 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->pages)
rk_obj            207 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		rockchip_gem_free_iommu(rk_obj);
rk_obj            209 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		rockchip_gem_free_dma(rk_obj);
rk_obj            215 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            222 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return vm_map_pages(vma, rk_obj->pages, count);
rk_obj            228 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            231 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return dma_mmap_attrs(drm->dev, vma, rk_obj->kvaddr, rk_obj->dma_addr,
rk_obj            232 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			      obj->size, rk_obj->dma_attrs);
rk_obj            239 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            247 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->pages)
rk_obj            291 drivers/gpu/drm/rockchip/rockchip_drm_gem.c static void rockchip_gem_release_object(struct rockchip_gem_object *rk_obj)
rk_obj            293 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	drm_gem_object_release(&rk_obj->base);
rk_obj            294 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	kfree(rk_obj);
rk_obj            300 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj;
rk_obj            305 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj = kzalloc(sizeof(*rk_obj), GFP_KERNEL);
rk_obj            306 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (!rk_obj)
rk_obj            309 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	obj = &rk_obj->base;
rk_obj            313 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return rk_obj;
rk_obj            320 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj;
rk_obj            323 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj = rockchip_gem_alloc_object(drm, size);
rk_obj            324 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (IS_ERR(rk_obj))
rk_obj            325 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return rk_obj;
rk_obj            327 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = rockchip_gem_alloc_buf(rk_obj, alloc_kmap);
rk_obj            331 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return rk_obj;
rk_obj            334 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_release_object(rk_obj);
rk_obj            346 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            350 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			rockchip_gem_iommu_unmap(rk_obj);
rk_obj            352 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			dma_unmap_sg(drm->dev, rk_obj->sgt->sgl,
rk_obj            353 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 				     rk_obj->sgt->nents, DMA_BIDIRECTIONAL);
rk_obj            355 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		drm_prime_gem_destroy(obj, rk_obj->sgt);
rk_obj            357 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		rockchip_gem_free_buf(rk_obj);
rk_obj            360 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_release_object(rk_obj);
rk_obj            375 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj;
rk_obj            379 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj = rockchip_gem_create_object(drm, size, false);
rk_obj            380 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (IS_ERR(rk_obj))
rk_obj            381 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return ERR_CAST(rk_obj);
rk_obj            383 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	obj = &rk_obj->base;
rk_obj            396 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return rk_obj;
rk_obj            415 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj;
rk_obj            424 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj = rockchip_gem_create_with_handle(file_priv, dev, args->size,
rk_obj            427 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return PTR_ERR_OR_ZERO(rk_obj);
rk_obj            438 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            443 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->pages)
rk_obj            444 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return drm_prime_pages_to_sg(rk_obj->pages, rk_obj->num_pages);
rk_obj            450 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	ret = dma_get_sgtable_attrs(drm->dev, sgt, rk_obj->kvaddr,
rk_obj            451 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 				    rk_obj->dma_addr, obj->size,
rk_obj            452 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 				    rk_obj->dma_attrs);
rk_obj            483 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			  struct rockchip_gem_object *rk_obj)
rk_obj            485 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->sgt = sg;
rk_obj            486 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return rockchip_gem_iommu_map(rk_obj);
rk_obj            493 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 			struct rockchip_gem_object *rk_obj)
rk_obj            507 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->dma_addr = sg_dma_address(sg->sgl);
rk_obj            508 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj->sgt = sg;
rk_obj            518 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj;
rk_obj            521 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rk_obj = rockchip_gem_alloc_object(drm, attach->dmabuf->size);
rk_obj            522 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (IS_ERR(rk_obj))
rk_obj            523 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return ERR_CAST(rk_obj);
rk_obj            526 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		ret = rockchip_gem_iommu_map_sg(drm, attach, sg, rk_obj);
rk_obj            528 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		ret = rockchip_gem_dma_map_sg(drm, attach, sg, rk_obj);
rk_obj            535 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return &rk_obj->base;
rk_obj            538 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	rockchip_gem_release_object(rk_obj);
rk_obj            544 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            546 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->pages)
rk_obj            547 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 		return vmap(rk_obj->pages, rk_obj->num_pages, VM_MAP,
rk_obj            550 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->dma_attrs & DMA_ATTR_NO_KERNEL_MAPPING)
rk_obj            553 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	return rk_obj->kvaddr;
rk_obj            558 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	struct rockchip_gem_object *rk_obj = to_rockchip_obj(obj);
rk_obj            560 drivers/gpu/drm/rockchip/rockchip_drm_gem.c 	if (rk_obj->pages) {
rk_obj            795 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 	struct rockchip_gem_object *rk_obj, *rk_uv_obj;
rk_obj            820 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 	rk_obj = to_rockchip_obj(obj);
rk_obj            835 drivers/gpu/drm/rockchip/rockchip_drm_vop.c 	dma_addr = rk_obj->dma_addr + offset + fb->offsets[0];