xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/gh100.c (revision fb7399cf2d0b33825b8039f95c45395c7deba25c)
1 /* SPDX-License-Identifier: MIT
2  *
3  * Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
4  */
5 #include "mem.h"
6 #include "vmm.h"
7 
8 #include <nvif/class.h>
9 
10 static const struct nvkm_mmu_func
11 gh100_mmu = {
12 	.dma_bits = 52,
13 	.mmu = {{ -1, -1, NVIF_CLASS_MMU_GF100}},
14 	.mem = {{ -1,  0, NVIF_CLASS_MEM_GF100}, gf100_mem_new, gf100_mem_map },
15 	.vmm = {{ -1,  0, NVIF_CLASS_VMM_GP100}, gh100_vmm_new },
16 	.kind = tu102_mmu_kind,
17 	.kind_sys = true,
18 };
19 
20 int
21 gh100_mmu_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
22 	      struct nvkm_mmu **pmmu)
23 {
24 	return r535_mmu_new(&gh100_mmu, device, type, inst, pmmu);
25 }
26