Lines Matching refs:vma
20 __vma_matches(struct vm_area_struct *vma, struct file *filp, in __vma_matches() argument
23 if (vma->vm_file != filp) in __vma_matches()
26 return vma->vm_start == addr && in __vma_matches()
27 (vma->vm_end - vma->vm_start) == PAGE_ALIGN(size); in __vma_matches()
89 struct vm_area_struct *vma; in i915_gem_mmap_ioctl() local
95 vma = find_vma(mm, addr); in i915_gem_mmap_ioctl()
96 if (vma && __vma_matches(vma, obj->base.filp, addr, args->size)) in i915_gem_mmap_ioctl()
97 vma->vm_page_prot = in i915_gem_mmap_ioctl()
98 pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); in i915_gem_mmap_ioctl()
220 struct vm_area_struct *area = vmf->vma; in i915_gem_fault()
228 struct i915_vma *vma; in i915_gem_fault() local
263 vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, in i915_gem_fault()
267 if (IS_ERR(vma)) { in i915_gem_fault()
282 vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, flags); in i915_gem_fault()
283 if (IS_ERR(vma)) { in i915_gem_fault()
286 vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, flags); in i915_gem_fault()
289 if (IS_ERR(vma)) { in i915_gem_fault()
290 ret = PTR_ERR(vma); in i915_gem_fault()
294 ret = i915_vma_pin_fence(vma); in i915_gem_fault()
300 area->vm_start + (vma->ggtt_view.partial.offset << PAGE_SHIFT), in i915_gem_fault()
301 (ggtt->gmadr.start + vma->node.start) >> PAGE_SHIFT, in i915_gem_fault()
302 min_t(u64, vma->size, area->vm_end - area->vm_start), in i915_gem_fault()
311 if (!i915_vma_set_userfault(vma) && !obj->userfault_count++) in i915_gem_fault()
321 i915_vma_set_ggtt_write(vma); in i915_gem_fault()
326 i915_vma_unpin_fence(vma); in i915_gem_fault()
328 __i915_vma_unpin(vma); in i915_gem_fault()
377 struct i915_vma *vma; in __i915_gem_object_release_mmap() local
386 for_each_ggtt_vma(vma, obj) in __i915_gem_object_release_mmap()
387 i915_vma_unset_userfault(vma); in __i915_gem_object_release_mmap()