| 1 |
|
| 2 |
|
| 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
|