xref: /linux/drivers/gpu/drm/i915/display/intel_bo.c (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
117cd58a8SJani Nikula // SPDX-License-Identifier: MIT
217cd58a8SJani Nikula /* Copyright © 2024 Intel Corporation */
317cd58a8SJani Nikula 
4baa46d1bSJani Nikula #include "gem/i915_gem_mman.h"
517cd58a8SJani Nikula #include "gem/i915_gem_object.h"
6ff992dbfSJani Nikula #include "gem/i915_gem_object_frontbuffer.h"
7*67e71a4bSJani Nikula #include "i915_debugfs.h"
817cd58a8SJani Nikula #include "intel_bo.h"
917cd58a8SJani Nikula 
1017cd58a8SJani Nikula bool intel_bo_is_tiled(struct drm_gem_object *obj)
1117cd58a8SJani Nikula {
1217cd58a8SJani Nikula 	return i915_gem_object_is_tiled(to_intel_bo(obj));
1317cd58a8SJani Nikula }
1433fd02e4SJani Nikula 
1533fd02e4SJani Nikula bool intel_bo_is_userptr(struct drm_gem_object *obj)
1633fd02e4SJani Nikula {
1733fd02e4SJani Nikula 	return i915_gem_object_is_userptr(to_intel_bo(obj));
1833fd02e4SJani Nikula }
1933fd02e4SJani Nikula 
20baa46d1bSJani Nikula bool intel_bo_is_shmem(struct drm_gem_object *obj)
21baa46d1bSJani Nikula {
22baa46d1bSJani Nikula 	return i915_gem_object_is_shmem(to_intel_bo(obj));
23baa46d1bSJani Nikula }
24baa46d1bSJani Nikula 
25ad36a322SJani Nikula bool intel_bo_is_protected(struct drm_gem_object *obj)
26ad36a322SJani Nikula {
27ad36a322SJani Nikula 	return i915_gem_object_is_protected(to_intel_bo(obj));
28ad36a322SJani Nikula }
29ad36a322SJani Nikula 
3033fd02e4SJani Nikula void intel_bo_flush_if_display(struct drm_gem_object *obj)
3133fd02e4SJani Nikula {
3233fd02e4SJani Nikula 	i915_gem_object_flush_if_display(to_intel_bo(obj));
3333fd02e4SJani Nikula }
34baa46d1bSJani Nikula 
35baa46d1bSJani Nikula int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
36baa46d1bSJani Nikula {
37baa46d1bSJani Nikula 	return i915_gem_fb_mmap(to_intel_bo(obj), vma);
38baa46d1bSJani Nikula }
3963db15feSJani Nikula 
4063db15feSJani Nikula int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size)
4163db15feSJani Nikula {
4263db15feSJani Nikula 	return i915_gem_object_read_from_page(to_intel_bo(obj), offset, dst, size);
4363db15feSJani Nikula }
44ff992dbfSJani Nikula 
45ff992dbfSJani Nikula struct intel_frontbuffer *intel_bo_get_frontbuffer(struct drm_gem_object *obj)
46ff992dbfSJani Nikula {
47ff992dbfSJani Nikula 	return i915_gem_object_get_frontbuffer(to_intel_bo(obj));
48ff992dbfSJani Nikula }
49ff992dbfSJani Nikula 
50ff992dbfSJani Nikula struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
51ff992dbfSJani Nikula 						   struct intel_frontbuffer *front)
52ff992dbfSJani Nikula {
53ff992dbfSJani Nikula 	return i915_gem_object_set_frontbuffer(to_intel_bo(obj), front);
54ff992dbfSJani Nikula }
55*67e71a4bSJani Nikula 
56*67e71a4bSJani Nikula void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj)
57*67e71a4bSJani Nikula {
58*67e71a4bSJani Nikula 	i915_debugfs_describe_obj(m, to_intel_bo(obj));
59*67e71a4bSJani Nikula }
60