1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
2 /* Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> */
7 #include <drm/drm_gem_shmem_helper.h>
12 struct drm_gem_shmem_object base
;
18 static inline struct lima_bo
*
19 to_lima_bo(struct drm_gem_object
*obj
)
21 return container_of(to_drm_gem_shmem_obj(obj
), struct lima_bo
, base
);
24 static inline size_t lima_bo_size(struct lima_bo
*bo
)
26 return bo
->base
.base
.size
;
29 static inline struct dma_resv
*lima_bo_resv(struct lima_bo
*bo
)
31 return bo
->base
.base
.resv
;
34 struct drm_gem_object
*lima_gem_create_object(struct drm_device
*dev
, size_t size
);
35 int lima_gem_create_handle(struct drm_device
*dev
, struct drm_file
*file
,
36 u32 size
, u32 flags
, u32
*handle
);
37 int lima_gem_get_info(struct drm_file
*file
, u32 handle
, u32
*va
, u64
*offset
);
38 int lima_gem_submit(struct drm_file
*file
, struct lima_submit
*submit
);
39 int lima_gem_wait(struct drm_file
*file
, u32 handle
, u32 op
, s64 timeout_ns
);
41 void lima_set_vma_flags(struct vm_area_struct
*vma
);