1 /* SPDX-License-Identifier: MIT */ 2 /* Copyright © 2024 Intel Corporation */ 3 4 #ifndef __INTEL_BO__ 5 #define __INTEL_BO__ 6 7 #include <linux/types.h> 8 9 struct drm_file; 10 struct drm_gem_object; 11 struct drm_mode_fb_cmd2; 12 struct drm_scanout_buffer; 13 struct fb_info; 14 struct i915_vma; 15 struct intel_display; 16 struct intel_framebuffer; 17 struct seq_file; 18 struct vm_area_struct; 19 20 bool intel_bo_is_tiled(struct drm_gem_object *obj); 21 bool intel_bo_is_userptr(struct drm_gem_object *obj); 22 bool intel_bo_is_shmem(struct drm_gem_object *obj); 23 bool intel_bo_is_protected(struct drm_gem_object *obj); 24 int intel_bo_key_check(struct drm_gem_object *obj); 25 int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); 26 int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size); 27 28 void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj); 29 30 void intel_bo_framebuffer_fini(struct drm_gem_object *obj); 31 int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct drm_mode_fb_cmd2 *mode_cmd); 32 struct drm_gem_object *intel_bo_framebuffer_lookup(struct intel_display *display, 33 struct drm_file *filp, 34 const struct drm_mode_fb_cmd2 *user_mode_cmd); 35 36 u32 intel_bo_fbdev_pitch_align(struct intel_display *display, u32 stride); 37 struct drm_gem_object *intel_bo_fbdev_create(struct intel_display *display, int size); 38 void intel_bo_fbdev_destroy(struct drm_gem_object *obj); 39 int intel_bo_fbdev_fill_info(struct drm_gem_object *obj, struct fb_info *info, 40 struct i915_vma *vma); 41 42 #endif /* __INTEL_BO__ */ 43