Lines Matching refs:mem
43 nouveau_mem_map(struct nouveau_mem *mem,
61 args.nv50.kind = mem->kind;
62 args.nv50.comp = mem->comp;
69 if (mem->mem.type & NVIF_MEM_VRAM)
75 args.gf100.kind = mem->kind;
85 ret = nvif_vmm_map(vmm, vma->addr, mem->mem.size, &args, argc,
86 &mem->mem, 0);
92 nouveau_mem_fini(struct nouveau_mem *mem)
94 nvif_vmm_put(&mem->cli->drm->client.vmm.vmm, &mem->vma[1]);
95 nvif_vmm_put(&mem->cli->drm->client.vmm.vmm, &mem->vma[0]);
96 mutex_lock(&mem->cli->drm->master.lock);
97 nvif_mem_fini(&mem->mem);
98 mutex_unlock(&mem->cli->drm->master.lock);
104 struct nouveau_mem *mem = nouveau_mem(reg);
105 struct nouveau_cli *cli = mem->cli;
114 type = drm->ttm.type_ncoh[!!mem->kind];
118 if (mem->kind && !(mmu->type[type].type & NVIF_MEM_KIND))
119 mem->comp = mem->kind = 0;
120 if (mem->comp && !(mmu->type[type].type & NVIF_MEM_COMP)) {
122 mem->kind = mmu->kind[mem->kind];
123 mem->comp = 0;
135 ret = nvif_mem_init_type(mmu, cli->mem->oclass, type, PAGE_SHIFT,
137 &args, sizeof(args), &mem->mem);
146 struct nouveau_mem *mem = nouveau_mem(reg);
147 struct nouveau_cli *cli = mem->cli;
156 switch (cli->mem->oclass) {
158 ret = nvif_mem_init_type(mmu, cli->mem->oclass,
163 &mem->mem);
166 ret = nvif_mem_init_type(mmu, cli->mem->oclass,
169 .bankswz = mmu->kind[mem->kind] == 2,
172 &mem->mem);
182 reg->start = mem->mem.addr >> PAGE_SHIFT;
189 struct nouveau_mem *mem = nouveau_mem(reg);
190 nouveau_mem_fini(mem);
199 struct nouveau_mem *mem;
201 if (!(mem = kzalloc(sizeof(*mem), GFP_KERNEL)))
203 mem->cli = cli;
204 mem->kind = kind;
205 mem->comp = comp;
207 reg->mm_node = mem;