Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/* Copyright 2024-2025 Tomeu Vizoso <tomeu@tomeuvizoso.net> */
3
4#ifndef __ROCKET_GEM_H__
5#define __ROCKET_GEM_H__
6
7#include <drm/drm_gem_shmem_helper.h>
8
9struct rocket_gem_object {
10 struct drm_gem_shmem_object base;
11
12 struct rocket_file_priv *driver_priv;
13
14 struct rocket_iommu_domain *domain;
15 struct drm_mm_node mm;
16 size_t size;
17 u32 offset;
18};
19
20struct drm_gem_object *rocket_gem_create_object(struct drm_device *dev, size_t size);
21
22int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file *file);
23
24int rocket_ioctl_prep_bo(struct drm_device *dev, void *data, struct drm_file *file);
25
26int rocket_ioctl_fini_bo(struct drm_device *dev, void *data, struct drm_file *file);
27
28static inline
29struct rocket_gem_object *to_rocket_bo(struct drm_gem_object *obj)
30{
31 return container_of(to_drm_gem_shmem_obj(obj), struct rocket_gem_object, base);
32}
33
34#endif