#include <linux/mm.h>
#include <linux/iosys-map.h>
#include <linux/sync_file.h>
#include <linux/pagemap.h>
#include <linux/shmem_fs.h>
#include <linux/dma-mapping.h>
#include <drm/drm_file.h>
#include <drm/drm_syncobj.h>
#include <drm/drm_utils.h>
#include <drm/lima_drm.h>
#include "lima_drv.h"
#include "lima_gem.h"
#include "lima_vm.h"
int lima_heap_alloc(struct lima_bo *bo, struct lima_vm *vm)
{ … }
int lima_gem_create_handle(struct drm_device *dev, struct drm_file *file,
u32 size, u32 flags, u32 *handle)
{ … }
static void lima_gem_free_object(struct drm_gem_object *obj)
{ … }
static int lima_gem_object_open(struct drm_gem_object *obj, struct drm_file *file)
{ … }
static void lima_gem_object_close(struct drm_gem_object *obj, struct drm_file *file)
{ … }
static int lima_gem_pin(struct drm_gem_object *obj)
{ … }
static int lima_gem_vmap(struct drm_gem_object *obj, struct iosys_map *map)
{ … }
static int lima_gem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
{ … }
static const struct drm_gem_object_funcs lima_gem_funcs = …;
struct drm_gem_object *lima_gem_create_object(struct drm_device *dev, size_t size)
{ … }
int lima_gem_get_info(struct drm_file *file, u32 handle, u32 *va, u64 *offset)
{ … }
static int lima_gem_sync_bo(struct lima_sched_task *task, struct lima_bo *bo,
bool write, bool explicit)
{ … }
static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)
{ … }
int lima_gem_submit(struct drm_file *file, struct lima_submit *submit)
{ … }
int lima_gem_wait(struct drm_file *file, u32 handle, u32 op, s64 timeout_ns)
{ … }