#include <linux/slab.h>
#include <linux/dma-mapping.h>
#include "lima_device.h"
#include "lima_vm.h"
#include "lima_gem.h"
#include "lima_regs.h"
struct lima_bo_va { … };
#define LIMA_VM_PD_SHIFT …
#define LIMA_VM_PT_SHIFT …
#define LIMA_VM_PB_SHIFT …
#define LIMA_VM_BT_SHIFT …
#define LIMA_VM_PT_MASK …
#define LIMA_VM_BT_MASK …
#define LIMA_PDE(va) …
#define LIMA_PTE(va) …
#define LIMA_PBE(va) …
#define LIMA_BTE(va) …
static void lima_vm_unmap_range(struct lima_vm *vm, u32 start, u32 end)
{ … }
static int lima_vm_map_page(struct lima_vm *vm, dma_addr_t pa, u32 va)
{ … }
static struct lima_bo_va *
lima_vm_bo_find(struct lima_vm *vm, struct lima_bo *bo)
{ … }
int lima_vm_bo_add(struct lima_vm *vm, struct lima_bo *bo, bool create)
{ … }
void lima_vm_bo_del(struct lima_vm *vm, struct lima_bo *bo)
{ … }
u32 lima_vm_get_va(struct lima_vm *vm, struct lima_bo *bo)
{ … }
struct lima_vm *lima_vm_create(struct lima_device *dev)
{ … }
void lima_vm_release(struct kref *kref)
{ … }
void lima_vm_print(struct lima_vm *vm)
{ … }
int lima_vm_map_bo(struct lima_vm *vm, struct lima_bo *bo, int pageoff)
{ … }