1 // SPDX-License-Identifier: MIT 2 /* Copyright © 2024 Intel Corporation */ 3 4 #include <drm/drm_panic.h> 5 #include "display/intel_display_types.h" 6 #include "gem/i915_gem_mman.h" 7 #include "gem/i915_gem_object.h" 8 #include "gem/i915_gem_object_frontbuffer.h" 9 #include "i915_debugfs.h" 10 #include "intel_bo.h" 11 12 bool intel_bo_is_tiled(struct drm_gem_object *obj) 13 { 14 return i915_gem_object_is_tiled(to_intel_bo(obj)); 15 } 16 17 bool intel_bo_is_userptr(struct drm_gem_object *obj) 18 { 19 return i915_gem_object_is_userptr(to_intel_bo(obj)); 20 } 21 22 bool intel_bo_is_shmem(struct drm_gem_object *obj) 23 { 24 return i915_gem_object_is_shmem(to_intel_bo(obj)); 25 } 26 27 bool intel_bo_is_protected(struct drm_gem_object *obj) 28 { 29 return i915_gem_object_is_protected(to_intel_bo(obj)); 30 } 31 32 void intel_bo_flush_if_display(struct drm_gem_object *obj) 33 { 34 i915_gem_object_flush_if_display(to_intel_bo(obj)); 35 } 36 37 int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) 38 { 39 return i915_gem_fb_mmap(to_intel_bo(obj), vma); 40 } 41 42 int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) 43 { 44 return i915_gem_object_read_from_page(to_intel_bo(obj), offset, dst, size); 45 } 46 47 struct intel_frontbuffer *intel_bo_get_frontbuffer(struct drm_gem_object *obj) 48 { 49 return i915_gem_object_get_frontbuffer(to_intel_bo(obj)); 50 } 51 52 struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj, 53 struct intel_frontbuffer *front) 54 { 55 return i915_gem_object_set_frontbuffer(to_intel_bo(obj), front); 56 } 57 58 void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) 59 { 60 i915_debugfs_describe_obj(m, to_intel_bo(obj)); 61 } 62 63 struct intel_framebuffer *intel_bo_alloc_framebuffer(void) 64 { 65 return i915_gem_object_alloc_framebuffer(); 66 } 67 68 int intel_bo_panic_setup(struct drm_scanout_buffer *sb) 69 { 70 return i915_gem_object_panic_setup(sb); 71 } 72 73 void intel_bo_panic_finish(struct intel_framebuffer *fb) 74 { 75 return i915_gem_object_panic_finish(fb); 76 } 77