Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/accel/rocket/rocket_gem.h
29278 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/* Copyright 2024-2025 Tomeu Vizoso <[email protected]> */
3
4
#ifndef __ROCKET_GEM_H__
5
#define __ROCKET_GEM_H__
6
7
#include <drm/drm_gem_shmem_helper.h>
8
9
struct 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
20
struct drm_gem_object *rocket_gem_create_object(struct drm_device *dev, size_t size);
21
22
int rocket_ioctl_create_bo(struct drm_device *dev, void *data, struct drm_file *file);
23
24
int rocket_ioctl_prep_bo(struct drm_device *dev, void *data, struct drm_file *file);
25
26
int rocket_ioctl_fini_bo(struct drm_device *dev, void *data, struct drm_file *file);
27
28
static inline
29
struct 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
35
36