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