aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2017-11-01 03:56:19 +1000
committerBen Skeggs <bskeggs@redhat.com>2017-11-02 13:32:26 +1000
commitaf3b8d53869c175fce424b6bfd1f49c1b53baef1 (patch)
tree1d3a8e275798e2561d35681f9960faf2c3f3f766
parentdrm/nouveau/mmu/gp100,gp10b: implement vmm on top of new base (diff)
downloadlinux-dev-af3b8d53869c175fce424b6bfd1f49c1b53baef1.tar.xz
linux-dev-af3b8d53869c175fce424b6bfd1f49c1b53baef1.zip
drm/nouveau/mmu: remove old vm creation hooks
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c30
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.c1
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.c8
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.c1
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.c1
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.c2
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c11
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h10
9 files changed, 1 insertions, 65 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c
index 1965a52ebe60..9fdd1446da5f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c
@@ -617,31 +617,6 @@ nvkm_vm_legacy(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
}
int
-nvkm_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
- u32 block, struct lock_class_key *key, struct nvkm_vm **pvm)
-{
- static struct lock_class_key _key;
- struct nvkm_vm *vm;
- int ret;
-
- vm = kzalloc(sizeof(*vm), GFP_KERNEL);
- if (!vm)
- return -ENOMEM;
-
- __mutex_init(&vm->mutex, "&vm->mutex", key ? key : &_key);
- vm->mmu = mmu;
-
- ret = nvkm_vm_legacy(mmu, offset, length, mm_offset, block, vm);
- if (ret) {
- kfree(vm);
- return ret;
- }
-
- *pvm = vm;
- return 0;
-}
-
-int
nvkm_vm_new(struct nvkm_device *device, u64 offset, u64 length, u64 mm_offset,
struct lock_class_key *key, struct nvkm_vm **pvm)
{
@@ -666,10 +641,7 @@ nvkm_vm_new(struct nvkm_device *device, u64 offset, u64 length, u64 mm_offset,
return ret;
}
- if (!mmu->func->create)
- return -EINVAL;
-
- return mmu->func->create(mmu, offset, length, mm_offset, key, pvm);
+ return -EINVAL;
}
static int
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.c
index bb15ae97f421..13f8247a2ee4 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/g84.c
@@ -30,7 +30,6 @@ g84_mmu = {
.pgt_bits = 29 - 12,
.spg_shift = 12,
.lpg_shift = 16,
- .create = nv50_vm_create,
.map_pgt = nv50_vm_map_pgt,
.map = nv50_vm_map,
.map_sg = nv50_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.c
index 6a942e2bcc39..536260782cff 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gf100.c
@@ -190,13 +190,6 @@ gf100_vm_flush(struct nvkm_vm *vm)
mutex_unlock(&mmu->subdev.mutex);
}
-int
-gf100_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
- struct lock_class_key *key, struct nvkm_vm **pvm)
-{
- return nvkm_vm_create(mmu, offset, length, mm_offset, 4096, key, pvm);
-}
-
static const struct nvkm_mmu_func
gf100_mmu = {
.limit = (1ULL << 40),
@@ -204,7 +197,6 @@ gf100_mmu = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.c
index 1facdab4aa9e..693aa1b875f2 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk104.c
@@ -30,7 +30,6 @@ gk104_mmu = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.c
index 3d699c35a181..b774d9a25c3e 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gk20a.c
@@ -30,7 +30,6 @@ gk20a_mmu = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.c
index 8d6be5b3e8e8..41332613c644 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm200.c
@@ -32,7 +32,6 @@ gm200_mmu = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
@@ -48,7 +47,6 @@ gm200_mmu_fixed = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.c
index 2894c7cbcdbb..25b16975bddd 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gm20b.c
@@ -32,7 +32,6 @@ gm20b_mmu = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
@@ -48,7 +47,6 @@ gm20b_mmu_fixed = {
.pgt_bits = 27 - 12,
.spg_shift = 12,
.lpg_shift = 17,
- .create = gf100_vm_create,
.map_pgt = gf100_vm_map_pgt,
.map = gf100_vm_map,
.map_sg = gf100_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
index 4e1c70db85c0..ba1c04e00701 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv50.c
@@ -200,16 +200,6 @@ nv50_vm_flush(struct nvkm_vm *vm)
mutex_unlock(&subdev->mutex);
}
-int
-nv50_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset,
- struct lock_class_key *key, struct nvkm_vm **pvm)
-{
- u32 block = (1 << (mmu->func->pgt_bits + 12));
- if (block > length)
- block = length;
- return nvkm_vm_create(mmu, offset, length, mm_offset, block, key, pvm);
-}
-
static const struct nvkm_mmu_func
nv50_mmu = {
.limit = (1ULL << 40),
@@ -217,7 +207,6 @@ nv50_mmu = {
.pgt_bits = 29 - 12,
.spg_shift = 12,
.lpg_shift = 16,
- .create = nv50_vm_create,
.map_pgt = nv50_vm_map_pgt,
.map = nv50_vm_map,
.map_sg = nv50_vm_map_sg,
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h
index ac6d84537c5f..f490a636e9f0 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/priv.h
@@ -18,9 +18,6 @@ struct nvkm_mmu_func {
u8 spg_shift;
u8 lpg_shift;
- int (*create)(struct nvkm_mmu *, u64 offset, u64 length, u64 mm_offset,
- struct lock_class_key *, struct nvkm_vm **);
-
void (*map_pgt)(struct nvkm_gpuobj *pgd, u32 pde,
struct nvkm_memory *pgt[2]);
void (*map)(struct nvkm_vma *, struct nvkm_memory *,
@@ -42,13 +39,8 @@ struct nvkm_mmu_func {
} vmm;
};
-int nvkm_vm_create(struct nvkm_mmu *, u64, u64, u64, u32,
- struct lock_class_key *, struct nvkm_vm **);
-
extern const struct nvkm_mmu_func nv04_mmu;
-int nv50_vm_create(struct nvkm_mmu *, u64, u64, u64, struct lock_class_key *,
- struct nvkm_vm **);
void nv50_vm_map_pgt(struct nvkm_gpuobj *, u32, struct nvkm_memory **);
void nv50_vm_map(struct nvkm_vma *, struct nvkm_memory *, struct nvkm_mem *,
u32, u32, u64, u64);
@@ -57,8 +49,6 @@ void nv50_vm_map_sg(struct nvkm_vma *, struct nvkm_memory *, struct nvkm_mem *,
void nv50_vm_unmap(struct nvkm_vma *, struct nvkm_memory *, u32, u32);
void nv50_vm_flush(struct nvkm_vm *);
-int gf100_vm_create(struct nvkm_mmu *, u64, u64, u64, struct lock_class_key *,
- struct nvkm_vm **);
void gf100_vm_map_pgt(struct nvkm_gpuobj *, u32, struct nvkm_memory **);
void gf100_vm_map(struct nvkm_vma *, struct nvkm_memory *, struct nvkm_mem *,
u32, u32, u64, u64);