forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmmgm200.c
....@@ -113,6 +113,7 @@
113113 .aper = gf100_vmm_aper,
114114 .valid = gf100_vmm_valid,
115115 .flush = gf100_vmm_flush,
116
+ .invalidate_pdb = gf100_vmm_invalidate_pdb,
116117 .page = {
117118 { 27, &gm200_vmm_desc_17_17[1], NVKM_VMM_PAGE_Sxxx },
118119 { 17, &gm200_vmm_desc_17_17[0], NVKM_VMM_PAGE_SVxC },
....@@ -128,6 +129,7 @@
128129 .aper = gf100_vmm_aper,
129130 .valid = gf100_vmm_valid,
130131 .flush = gf100_vmm_flush,
132
+ .invalidate_pdb = gf100_vmm_invalidate_pdb,
131133 .page = {
132134 { 27, &gm200_vmm_desc_16_16[1], NVKM_VMM_PAGE_Sxxx },
133135 { 16, &gm200_vmm_desc_16_16[0], NVKM_VMM_PAGE_SVxC },
....@@ -139,9 +141,9 @@
139141 int
140142 gm200_vmm_new_(const struct nvkm_vmm_func *func_16,
141143 const struct nvkm_vmm_func *func_17,
142
- struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc,
143
- struct lock_class_key *key, const char *name,
144
- struct nvkm_vmm **pvmm)
144
+ struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size,
145
+ void *argv, u32 argc, struct lock_class_key *key,
146
+ const char *name, struct nvkm_vmm **pvmm)
145147 {
146148 const struct nvkm_vmm_func *func;
147149 union {
....@@ -163,23 +165,23 @@
163165 } else
164166 return ret;
165167
166
- return nvkm_vmm_new_(func, mmu, 0, addr, size, key, name, pvmm);
168
+ return nvkm_vmm_new_(func, mmu, 0, managed, addr, size, key, name, pvmm);
167169 }
168170
169171 int
170
-gm200_vmm_new(struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc,
171
- struct lock_class_key *key, const char *name,
172
- struct nvkm_vmm **pvmm)
172
+gm200_vmm_new(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size,
173
+ void *argv, u32 argc, struct lock_class_key *key,
174
+ const char *name, struct nvkm_vmm **pvmm)
173175 {
174
- return gm200_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, addr,
176
+ return gm200_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, managed, addr,
175177 size, argv, argc, key, name, pvmm);
176178 }
177179
178180 int
179
-gm200_vmm_new_fixed(struct nvkm_mmu *mmu, u64 addr, u64 size,
181
+gm200_vmm_new_fixed(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size,
180182 void *argv, u32 argc, struct lock_class_key *key,
181183 const char *name, struct nvkm_vmm **pvmm)
182184 {
183
- return gf100_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, addr,
185
+ return gf100_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, managed, addr,
184186 size, argv, argc, key, name, pvmm);
185187 }