Commit c83c4097 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/mmu: define user interfaces to mmu memory allocation



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent eea5cf0f
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
#ifndef __NVIF_IF000A_H__
#define __NVIF_IF000A_H__
struct nvif_mem_v0 {
	__u8  version;
	__u8  type;
	__u8  page;
	__u8  pad03[5];
	__u64 size;
	__u64 addr;
	__u8  data[];
};

struct nvif_mem_ram_vn {
};
+18 −0
Original line number Diff line number Diff line
#ifndef __NVIF_MEM_H__
#define __NVIF_MEM_H__
#include "mmu.h"

struct nvif_mem {
	struct nvif_object object;
	u8  type;
	u8  page;
	u64 addr;
	u64 size;
};

int nvif_mem_init_type(struct nvif_mmu *mmu, s32 oclass, int type, u8 page,
		       u64 size, void *argv, u32 argc, struct nvif_mem *);
int nvif_mem_init(struct nvif_mmu *mmu, s32 oclass, u8 type, u8 page,
		  u64 size, void *argv, u32 argc, struct nvif_mem *);
void nvif_mem_fini(struct nvif_mem *);
#endif
+3 −0
Original line number Diff line number Diff line
@@ -17,6 +17,9 @@ struct nvkm_client {
	int (*ntfy)(const void *, u32, const void *, u32);

	struct nvkm_vm *vm;

	struct list_head umem;
	spinlock_t lock;
};

int  nvkm_client_new(const char *name, u64 device, const char *cfg,
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ int nvkm_vmm_map(struct nvkm_vmm *, struct nvkm_vma *, void *argv, u32 argc,
		 struct nvkm_vmm_map *);
void nvkm_vmm_unmap(struct nvkm_vmm *, struct nvkm_vma *);

struct nvkm_memory *nvkm_umem_search(struct nvkm_client *, u64);
struct nvkm_vmm *nvkm_uvmm_search(struct nvkm_client *, u64 handle);

struct nvkm_mmu {
+1 −0
Original line number Diff line number Diff line
@@ -2,5 +2,6 @@ nvif-y := nvif/object.o
nvif-y += nvif/client.o
nvif-y += nvif/device.o
nvif-y += nvif/driver.o
nvif-y += nvif/mem.o
nvif-y += nvif/mmu.o
nvif-y += nvif/notify.o
Loading