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