Skip to content

Commit

Permalink
drm/nouveau/mmu: remove old vmm frontend
Browse files Browse the repository at this point in the history
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Ben Skeggs committed Nov 2, 2017
1 parent 7dc6a44 commit 632b740
Showing 57 changed files with 40 additions and 427 deletions.
2 changes: 0 additions & 2 deletions drivers/gpu/drm/nouveau/include/nvif/device.h
Original file line number Diff line number Diff line change
@@ -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
2 changes: 0 additions & 2 deletions drivers/gpu/drm/nouveau/include/nvkm/core/client.h
Original file line number Diff line number Diff line change
@@ -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;
};
2 changes: 0 additions & 2 deletions drivers/gpu/drm/nouveau/include/nvkm/core/os.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#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
14 changes: 0 additions & 14 deletions drivers/gpu/drm/nouveau/include/nvkm/subdev/fb.h
Original file line number Diff line number Diff line change
@@ -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
26 changes: 1 addition & 25 deletions drivers/gpu/drm/nouveau/include/nvkm/subdev/mmu.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
#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 {
6 changes: 0 additions & 6 deletions drivers/gpu/drm/nouveau/nouveau_drm.c
Original file line number Diff line number Diff line change
@@ -271,12 +271,6 @@ nouveau_cli_init(struct nouveau_drm *drm, const char *sname,
}

cli->mem = &mems[ret];

if (1) {
cli->vm = cli->vmm.vm;
nvxx_client(&cli->base)->vm = cli->vm;
}

return 0;
done:
if (ret)
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nouveau_drv.h
Original file line number Diff line number Diff line change
@@ -97,7 +97,6 @@ struct nouveau_cli {
struct nouveau_vmm vmm;
const struct nvif_mclass *mem;

struct nvkm_vm *vm;
struct list_head head;
void *abi16;
struct list_head objects;
7 changes: 0 additions & 7 deletions drivers/gpu/drm/nouveau/nouveau_gem.c
Original file line number Diff line number Diff line change
@@ -267,18 +267,11 @@ int
nouveau_gem_ioctl_new(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
struct nouveau_drm *drm = nouveau_drm(dev);
struct nouveau_cli *cli = nouveau_cli(file_priv);
struct nvkm_fb *fb = nvxx_fb(&drm->client.device);
struct drm_nouveau_gem_new *req = data;
struct nouveau_bo *nvbo = NULL;
int ret = 0;

if (!nvkm_fb_memtype_valid(fb, req->info.tile_flags)) {
NV_PRINTK(err, cli, "bad page flags: 0x%08x\n", req->info.tile_flags);
return -EINVAL;
}

ret = nouveau_gem_new(cli, req->info.size, req->align,
req->info.domain, req->info.tile_mode,
req->info.tile_flags, &nvbo);
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nouveau_vmm.c
Original file line number Diff line number Diff line change
@@ -131,6 +131,5 @@ nouveau_vmm_init(struct nouveau_cli *cli, s32 oclass, struct nouveau_vmm *vmm)
return ret;

vmm->cli = cli;
vmm->vm = nvkm_uvmm(vmm->vmm.object.priv)->vmm;
return 0;
}
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nouveau_vmm.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#ifndef __NOUVEAU_VMA_H__
#define __NOUVEAU_VMA_H__
#include <subdev/mmu/uvmm.h>
#include <nvif/vmm.h>
struct nouveau_bo;
struct nouveau_mem;
6 changes: 0 additions & 6 deletions drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.c
Original file line number Diff line number Diff line change
@@ -31,12 +31,6 @@
#include <engine/gr.h>
#include <engine/mpeg.h>

bool
nvkm_fb_memtype_valid(struct nvkm_fb *fb, u32 memtype)
{
return fb->func->memtype_valid(fb, memtype);
}

void
nvkm_fb_tile_fini(struct nvkm_fb *fb, int region, struct nvkm_fb_tile *tile)
{
10 changes: 0 additions & 10 deletions drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.c
Original file line number Diff line number Diff line change
@@ -27,15 +27,6 @@
#include <core/memory.h>
#include <core/option.h>

extern const u8 gf100_pte_storage_type_map[256];

bool
gf100_fb_memtype_valid(struct nvkm_fb *fb, u32 tile_flags)
{
u8 memtype = (tile_flags & 0x0000ff00) >> 8;
return likely((gf100_pte_storage_type_map[memtype] != 0xff));
}

void
gf100_fb_intr(struct nvkm_fb *base)
{
@@ -140,7 +131,6 @@ gf100_fb = {
.init_page = gf100_fb_init_page,
.intr = gf100_fb_intr,
.ram_new = gf100_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 17,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.c
Original file line number Diff line number Diff line change
@@ -32,7 +32,6 @@ gf108_fb = {
.init_page = gf100_fb_init_page,
.intr = gf100_fb_intr,
.ram_new = gf108_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 17,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.c
Original file line number Diff line number Diff line change
@@ -32,7 +32,6 @@ gk104_fb = {
.init_page = gf100_fb_init_page,
.intr = gf100_fb_intr,
.ram_new = gk104_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 17,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.c
Original file line number Diff line number Diff line change
@@ -30,7 +30,6 @@ gk20a_fb = {
.init = gf100_fb_init,
.init_page = gf100_fb_init_page,
.intr = gf100_fb_intr,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 17,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.c
Original file line number Diff line number Diff line change
@@ -32,7 +32,6 @@ gm107_fb = {
.init_page = gf100_fb_init_page,
.intr = gf100_fb_intr,
.ram_new = gm107_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 17,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.c
Original file line number Diff line number Diff line change
@@ -65,7 +65,6 @@ gm200_fb = {
.init_page = gm200_fb_init_page,
.intr = gf100_fb_intr,
.ram_new = gm200_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 0 /* per-instance. */,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.c
Original file line number Diff line number Diff line change
@@ -30,7 +30,6 @@ gm20b_fb = {
.init = gm200_fb_init,
.init_page = gm200_fb_init_page,
.intr = gf100_fb_intr,
.memtype_valid = gf100_fb_memtype_valid,
.default_bigpage = 0 /* per-instance. */,
};

1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.c
Original file line number Diff line number Diff line change
@@ -59,7 +59,6 @@ gp100_fb = {
.init_page = gm200_fb_init_page,
.init_unkn = gp100_fb_init_unkn,
.ram_new = gp100_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.c
Original file line number Diff line number Diff line change
@@ -33,7 +33,6 @@ gp102_fb = {
.init = gp100_fb_init,
.init_page = gm200_fb_init_page,
.ram_new = gp100_ram_new,
.memtype_valid = gf100_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.c
Original file line number Diff line number Diff line change
@@ -28,7 +28,6 @@ gp10b_fb = {
.init = gm200_fb_init,
.init_page = gm200_fb_init_page,
.intr = gf100_fb_intr,
.memtype_valid = gf100_fb_memtype_valid,
};

int
9 changes: 0 additions & 9 deletions drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.c
Original file line number Diff line number Diff line change
@@ -25,14 +25,6 @@
#include "ram.h"
#include "regsnv04.h"

bool
nv04_fb_memtype_valid(struct nvkm_fb *fb, u32 tile_flags)
{
if (!(tile_flags & 0xff00))
return true;
return false;
}

static void
nv04_fb_init(struct nvkm_fb *fb)
{
@@ -49,7 +41,6 @@ static const struct nvkm_fb_func
nv04_fb = {
.init = nv04_fb_init,
.ram_new = nv04_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.c
Original file line number Diff line number Diff line change
@@ -61,7 +61,6 @@ nv10_fb = {
.tile.fini = nv10_fb_tile_fini,
.tile.prog = nv10_fb_tile_prog,
.ram_new = nv10_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.c
Original file line number Diff line number Diff line change
@@ -33,7 +33,6 @@ nv1a_fb = {
.tile.fini = nv10_fb_tile_fini,
.tile.prog = nv10_fb_tile_prog,
.ram_new = nv1a_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.c
Original file line number Diff line number Diff line change
@@ -93,7 +93,6 @@ nv20_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv20_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.c
Original file line number Diff line number Diff line change
@@ -51,7 +51,6 @@ nv25_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv20_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.c
Original file line number Diff line number Diff line change
@@ -124,7 +124,6 @@ nv30_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv20_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.c
Original file line number Diff line number Diff line change
@@ -53,7 +53,6 @@ nv35_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv20_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.c
Original file line number Diff line number Diff line change
@@ -53,7 +53,6 @@ nv36_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv20_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.c
Original file line number Diff line number Diff line change
@@ -59,7 +59,6 @@ nv40_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv20_fb_tile_prog,
.ram_new = nv40_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.c
Original file line number Diff line number Diff line change
@@ -53,7 +53,6 @@ nv41_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv41_fb_tile_prog,
.ram_new = nv41_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.c
Original file line number Diff line number Diff line change
@@ -62,7 +62,6 @@ nv44_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv44_fb_tile_prog,
.ram_new = nv44_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
1 change: 0 additions & 1 deletion drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.c
Original file line number Diff line number Diff line change
@@ -48,7 +48,6 @@ nv46_fb = {
.tile.fini = nv20_fb_tile_fini,
.tile.prog = nv44_fb_tile_prog,
.ram_new = nv44_ram_new,
.memtype_valid = nv04_fb_memtype_valid,
};

int
Loading

0 comments on commit 632b740

Please sign in to comment.