xref: /linux/drivers/gpu/drm/i915/display/intel_bo.h (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
117cd58a8SJani Nikula /* SPDX-License-Identifier: MIT */
217cd58a8SJani Nikula /* Copyright © 2024 Intel Corporation */
317cd58a8SJani Nikula 
417cd58a8SJani Nikula #ifndef __INTEL_BO__
517cd58a8SJani Nikula #define __INTEL_BO__
617cd58a8SJani Nikula 
717cd58a8SJani Nikula #include <linux/types.h>
817cd58a8SJani Nikula 
917cd58a8SJani Nikula struct drm_gem_object;
10*67e71a4bSJani Nikula struct seq_file;
11baa46d1bSJani Nikula struct vm_area_struct;
1217cd58a8SJani Nikula 
1317cd58a8SJani Nikula bool intel_bo_is_tiled(struct drm_gem_object *obj);
1433fd02e4SJani Nikula bool intel_bo_is_userptr(struct drm_gem_object *obj);
15baa46d1bSJani Nikula bool intel_bo_is_shmem(struct drm_gem_object *obj);
16ad36a322SJani Nikula bool intel_bo_is_protected(struct drm_gem_object *obj);
1733fd02e4SJani Nikula void intel_bo_flush_if_display(struct drm_gem_object *obj);
18baa46d1bSJani Nikula int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma);
1963db15feSJani Nikula int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size);
2017cd58a8SJani Nikula 
21ff992dbfSJani Nikula struct intel_frontbuffer *intel_bo_get_frontbuffer(struct drm_gem_object *obj);
22ff992dbfSJani Nikula struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
23ff992dbfSJani Nikula 						   struct intel_frontbuffer *front);
24ff992dbfSJani Nikula 
25*67e71a4bSJani Nikula void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj);
26*67e71a4bSJani Nikula 
2717cd58a8SJani Nikula #endif /* __INTEL_BO__ */
28