Displaying 1 result from an estimated 1 matches for "nouveau_vm_link".
Did you mean:
nouveau_vm_unlink
2013 Jul 29
0
[PATCH] drm/nouveau: protect vm refcount with mutex
..._free(&vm->mm, &vma->node);
- mutex_unlock(&nv_subdev(vmm)->mutex);
- nouveau_vm_ref(NULL, &vma->vm, NULL);
+ vma->vm = NULL;
+ ref = --vm->refcount;
+ mutex_unlock(&nv_subdev(vmm)->mutex);
+ if (!ref)
+ nouveau_vm_del(vm);
}
int
@@ -429,25 +434,21 @@ nouveau_vm_link(struct nouveau_vm *vm, struct nouveau_gpuobj *pgd)
nouveau_gpuobj_ref(pgd, &vpgd->obj);
- mutex_lock(&nv_subdev(vmm)->mutex);
for (i = vm->fpde; i <= vm->lpde; i++)
vmm->map_pgt(pgd, i, vm->pgt[i - vm->fpde].obj);
list_add(&vpgd->head, &vm->...