forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/gpu/drm/nouveau/nvif/vmm.c
....@@ -105,15 +105,15 @@
105105 }
106106
107107 void
108
-nvif_vmm_fini(struct nvif_vmm *vmm)
108
+nvif_vmm_dtor(struct nvif_vmm *vmm)
109109 {
110110 kfree(vmm->page);
111
- nvif_object_fini(&vmm->object);
111
+ nvif_object_dtor(&vmm->object);
112112 }
113113
114114 int
115
-nvif_vmm_init(struct nvif_mmu *mmu, s32 oclass, u64 addr, u64 size,
116
- void *argv, u32 argc, struct nvif_vmm *vmm)
115
+nvif_vmm_ctor(struct nvif_mmu *mmu, const char *name, s32 oclass, bool managed,
116
+ u64 addr, u64 size, void *argv, u32 argc, struct nvif_vmm *vmm)
117117 {
118118 struct nvif_vmm_v0 *args;
119119 u32 argn = sizeof(*args) + argc;
....@@ -125,12 +125,13 @@
125125 if (!(args = kmalloc(argn, GFP_KERNEL)))
126126 return -ENOMEM;
127127 args->version = 0;
128
+ args->managed = managed;
128129 args->addr = addr;
129130 args->size = size;
130131 memcpy(args->data, argv, argc);
131132
132
- ret = nvif_object_init(&mmu->object, 0, oclass, args, argn,
133
- &vmm->object);
133
+ ret = nvif_object_ctor(&mmu->object, name ? name : "nvifVmm", 0,
134
+ oclass, args, argn, &vmm->object);
134135 if (ret)
135136 goto done;
136137
....@@ -162,7 +163,7 @@
162163
163164 done:
164165 if (ret)
165
- nvif_vmm_fini(vmm);
166
+ nvif_vmm_dtor(vmm);
166167 kfree(args);
167168 return ret;
168169 }