1 // SPDX-License-Identifier: GPL-2.0 2 3 #include <drm/drm_gem.h> 4 #include <drm/drm_gem_shmem_helper.h> 5 #include <drm/drm_vma_manager.h> 6 7 #ifdef CONFIG_DRM 8 9 __rust_helper void rust_helper_drm_gem_object_get(struct drm_gem_object *obj) 10 { 11 drm_gem_object_get(obj); 12 } 13 14 __rust_helper void rust_helper_drm_gem_object_put(struct drm_gem_object *obj) 15 { 16 drm_gem_object_put(obj); 17 } 18 19 __rust_helper __u64 20 rust_helper_drm_vma_node_offset_addr(struct drm_vma_offset_node *node) 21 { 22 return drm_vma_node_offset_addr(node); 23 } 24 25 #ifdef CONFIG_DRM_GEM_SHMEM_HELPER 26 __rust_helper void 27 rust_helper_drm_gem_shmem_object_free(struct drm_gem_object *obj) 28 { 29 return drm_gem_shmem_object_free(obj); 30 } 31 32 __rust_helper void 33 rust_helper_drm_gem_shmem_object_print_info(struct drm_printer *p, unsigned int indent, 34 const struct drm_gem_object *obj) 35 { 36 drm_gem_shmem_object_print_info(p, indent, obj); 37 } 38 39 __rust_helper int 40 rust_helper_drm_gem_shmem_object_pin(struct drm_gem_object *obj) 41 { 42 return drm_gem_shmem_object_pin(obj); 43 } 44 45 __rust_helper void 46 rust_helper_drm_gem_shmem_object_unpin(struct drm_gem_object *obj) 47 { 48 drm_gem_shmem_object_unpin(obj); 49 } 50 51 __rust_helper struct sg_table * 52 rust_helper_drm_gem_shmem_object_get_sg_table(struct drm_gem_object *obj) 53 { 54 return drm_gem_shmem_object_get_sg_table(obj); 55 } 56 57 __rust_helper int 58 rust_helper_drm_gem_shmem_object_vmap(struct drm_gem_object *obj, 59 struct iosys_map *map) 60 { 61 return drm_gem_shmem_object_vmap(obj, map); 62 } 63 64 __rust_helper void 65 rust_helper_drm_gem_shmem_object_vunmap(struct drm_gem_object *obj, 66 struct iosys_map *map) 67 { 68 drm_gem_shmem_object_vunmap(obj, map); 69 } 70 71 __rust_helper int 72 rust_helper_drm_gem_shmem_object_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) 73 { 74 return drm_gem_shmem_object_mmap(obj, vma); 75 } 76 77 #endif /* CONFIG_DRM_GEM_SHMEM_HELPER */ 78 #endif /* CONFIG_DRM */ 79