#include "ummu.h"
#include "vmm.h"
#include <subdev/bar.h>
#include <subdev/fb.h>
#include <nvif/if500d.h>
#include <nvif/if900d.h>
struct nvkm_mmu_ptp { … };
static void
nvkm_mmu_ptp_put(struct nvkm_mmu *mmu, bool force, struct nvkm_mmu_pt *pt)
{ … }
static struct nvkm_mmu_pt *
nvkm_mmu_ptp_get(struct nvkm_mmu *mmu, u32 size, bool zero)
{ … }
struct nvkm_mmu_ptc { … };
static inline struct nvkm_mmu_ptc *
nvkm_mmu_ptc_find(struct nvkm_mmu *mmu, u32 size)
{ … }
void
nvkm_mmu_ptc_put(struct nvkm_mmu *mmu, bool force, struct nvkm_mmu_pt **ppt)
{ … }
struct nvkm_mmu_pt *
nvkm_mmu_ptc_get(struct nvkm_mmu *mmu, u32 size, u32 align, bool zero)
{ … }
void
nvkm_mmu_ptc_dump(struct nvkm_mmu *mmu)
{ … }
static void
nvkm_mmu_ptc_fini(struct nvkm_mmu *mmu)
{ … }
static void
nvkm_mmu_ptc_init(struct nvkm_mmu *mmu)
{ … }
static void
nvkm_mmu_type(struct nvkm_mmu *mmu, int heap, u8 type)
{ … }
static int
nvkm_mmu_heap(struct nvkm_mmu *mmu, u8 type, u64 size)
{ … }
static void
nvkm_mmu_host(struct nvkm_mmu *mmu)
{ … }
static void
nvkm_mmu_vram(struct nvkm_mmu *mmu)
{ … }
static int
nvkm_mmu_oneinit(struct nvkm_subdev *subdev)
{ … }
static int
nvkm_mmu_init(struct nvkm_subdev *subdev)
{ … }
static void *
nvkm_mmu_dtor(struct nvkm_subdev *subdev)
{ … }
static const struct nvkm_subdev_func
nvkm_mmu = …;
void
nvkm_mmu_ctor(const struct nvkm_mmu_func *func, struct nvkm_device *device,
enum nvkm_subdev_type type, int inst, struct nvkm_mmu *mmu)
{ … }
int
nvkm_mmu_new_(const struct nvkm_mmu_func *func, struct nvkm_device *device,
enum nvkm_subdev_type type, int inst, struct nvkm_mmu **pmmu)
{ … }