diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c index 1965a52ebe6056bb388b3d35606b8dbd1e3bc980..9fdd1446da5f4c52344ac8c6ba7fdd6f45d6773a 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c @@ -616,31 +616,6 @@ nvkm_vm_legacy(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mm_offset, return 0; } -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 bb15ae97f421700f930ee87d0c2b5cee20e7fd06..13f8247a2ee477c6ff54d00a0fc526077c6a772c 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 6a942e2bcc390fabbcc78460053e243a179abc74..536260782cff4f07beef48dd98c624b9fae55821 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 1facdab4aa9e6f7f6cf10e1f1a71b78f95e8d97f..693aa1b875f2881a58b3bce50390efc9e15782cb 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 3d699c35a181b0325eefd7c5a929729f4844c142..b774d9a25c3e87630eddb302052014932b103205 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 8d6be5b3e8e8403f71b09a5317320ad51b88f512..41332613c644390ef307fedc0ac7b97231473e38 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 2894c7cbcdbb1b0515e6bfc898f0b0cbfd443e95..25b16975bddd26b5db0cb62eb7ac63bc4a5ac2c7 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 4e1c70db85c0bb15e7e369cd554e17a687744cdb..ba1c04e007016781b0ac2b3ae5863f58835671bd 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 ac6d84537c5f02a625b1d2ded8b4b9a5cd437fd6..f490a636e9f0135c92ae4f837374d9dcd3f8d4fc 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);