Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 632b740c authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/mmu: remove old vmm frontend



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 7dc6a446
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -63,10 +63,8 @@ u64 nvif_device_time(struct nvif_device *);
#define nvxx_therm(a) nvxx_device(a)->therm
#define nvxx_volt(a) nvxx_device(a)->volt

#include <core/device.h>
#include <engine/fifo.h>
#include <engine/gr.h>
#include <engine/sw.h>

#define nvxx_fifo(a) nvxx_device(a)->fifo
#define nvxx_gr(a) nvxx_device(a)->gr
+0 −2
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@ struct nvkm_client {
	void *data;
	int (*ntfy)(const void *, u32, const void *, u32);

	struct nvkm_vm *vm;

	struct list_head umem;
	spinlock_t lock;
};
+0 −2
Original line number Diff line number Diff line
#ifndef __NVKM_OS_H__
#define __NVKM_OS_H__
#include <nvif/os.h>
#define nvkm_vmm nvkm_vm

#ifdef __BIG_ENDIAN
#define ioread16_native ioread16be
@@ -21,5 +20,4 @@
	iowrite32_native(lower_32_bits(_v), &_p[0]);			       \
	iowrite32_native(upper_32_bits(_v), &_p[1]);			       \
} while(0)

#endif
+0 −14
Original line number Diff line number Diff line
@@ -20,17 +20,6 @@
#define NVKM_RAM_TYPE_VM 0x7f
#define NV_MEM_COMP_VM 0x03

struct nvkm_mem {
	struct nvkm_mm_node *mem;
	dma_addr_t *pages;
	u32 memtype;
	u64 offset;
	u64 size;
	struct sg_table *sg;

	struct nvkm_memory *memory;
};

struct nvkm_fb_tile {
	struct nvkm_mm_node *tag;
	u32 addr;
@@ -57,7 +46,6 @@ struct nvkm_fb {
	struct nvkm_memory *mmu_wr;
};

bool nvkm_fb_memtype_valid(struct nvkm_fb *, u32 memtype);
void nvkm_fb_tile_init(struct nvkm_fb *, int region, u32 addr, u32 size,
		       u32 pitch, u32 flags, struct nvkm_fb_tile *);
void nvkm_fb_tile_fini(struct nvkm_fb *, int region, struct nvkm_fb_tile *);
@@ -163,6 +151,4 @@ struct nvkm_ram_func {
	int (*prog)(struct nvkm_ram *);
	void (*tidy)(struct nvkm_ram *);
};

extern const u8 gf100_pte_storage_type_map[256];
#endif
+1 −25
Original line number Diff line number Diff line
#ifndef __NVKM_MMU_H__
#define __NVKM_MMU_H__
#include <core/subdev.h>
struct nvkm_mem;

struct nvkm_vm_pgt {
	struct nvkm_memory *mem[2];
	u32 refcount[2];
};

struct nvkm_vma {
	struct list_head head;
@@ -24,14 +18,9 @@ struct nvkm_vma {
	bool busy:1; /* Region busy (for temporarily preventing user access). */
	struct nvkm_memory *memory; /* Memory currently mapped into VMA. */
	struct nvkm_tags *tags; /* Compression tag reference. */

	struct nvkm_vma *node;
	struct nvkm_vm *vm;
	u64 offset;
	u32 access;
};

struct nvkm_vm {
struct nvkm_vmm {
	const struct nvkm_vmm_func *func;
	struct nvkm_mmu *mmu;
	const char *name;
@@ -56,17 +45,6 @@ struct nvkm_vm {
	void *nullp;
};

int  nvkm_vm_new(struct nvkm_device *, u64 offset, u64 length, u64 mm_offset,
		 struct lock_class_key *, struct nvkm_vm **);
int  nvkm_vm_ref(struct nvkm_vm *, struct nvkm_vm **, struct nvkm_memory *inst);
int  nvkm_vm_boot(struct nvkm_vm *, u64 size);
int  nvkm_vm_get(struct nvkm_vm *, u64 size, u32 page_shift, u32 access,
		 struct nvkm_vma *);
void nvkm_vm_put(struct nvkm_vma *);
void nvkm_vm_map(struct nvkm_vma *, struct nvkm_mem *);
void nvkm_vm_map_at(struct nvkm_vma *, u64 offset, struct nvkm_mem *);
void nvkm_vm_unmap(struct nvkm_vma *);

int nvkm_vmm_new(struct nvkm_device *, u64 addr, u64 size, void *argv, u32 argc,
		 struct lock_class_key *, const char *name, struct nvkm_vmm **);
struct nvkm_vmm *nvkm_vmm_ref(struct nvkm_vmm *);
@@ -105,9 +83,7 @@ struct nvkm_mmu {
	const struct nvkm_mmu_func *func;
	struct nvkm_subdev subdev;

	u64 limit;
	u8  dma_bits;
	u8  lpg_shift;

	int heap_nr;
	struct {
Loading