• Home
  • Raw
  • Download

Lines Matching refs:vma

96 static vm_fault_t map_afu_irq(struct vm_area_struct *vma, unsigned long address,  in map_afu_irq()  argument
106 return vmf_insert_pfn(vma, address, trigger_addr >> PAGE_SHIFT); in map_afu_irq()
109 static vm_fault_t map_pp_mmio(struct vm_area_struct *vma, unsigned long address, in map_pp_mmio() argument
132 ret = vmf_insert_pfn(vma, address, pp_mmio_addr >> PAGE_SHIFT); in map_pp_mmio()
139 struct vm_area_struct *vma = vmf->vma; in ocxl_mmap_fault() local
140 struct ocxl_context *ctx = vma->vm_file->private_data; in ocxl_mmap_fault()
149 ret = map_pp_mmio(vma, vmf->address, offset, ctx); in ocxl_mmap_fault()
151 ret = map_afu_irq(vma, vmf->address, offset, ctx); in ocxl_mmap_fault()
160 struct vm_area_struct *vma) in check_mmap_afu_irq() argument
162 int irq_id = ocxl_irq_offset_to_id(ctx, vma->vm_pgoff << PAGE_SHIFT); in check_mmap_afu_irq()
165 if (vma_pages(vma) != 1) in check_mmap_afu_irq()
178 if ((vma->vm_flags & VM_READ) || (vma->vm_flags & VM_EXEC) || in check_mmap_afu_irq()
179 !(vma->vm_flags & VM_WRITE)) in check_mmap_afu_irq()
181 vma->vm_flags &= ~(VM_MAYREAD | VM_MAYEXEC); in check_mmap_afu_irq()
186 struct vm_area_struct *vma) in check_mmap_mmio() argument
188 if ((vma_pages(vma) + vma->vm_pgoff) > in check_mmap_mmio()
194 int ocxl_context_mmap(struct ocxl_context *ctx, struct vm_area_struct *vma) in ocxl_context_mmap() argument
198 if ((vma->vm_pgoff << PAGE_SHIFT) < ctx->afu->irq_base_offset) in ocxl_context_mmap()
199 rc = check_mmap_mmio(ctx, vma); in ocxl_context_mmap()
201 rc = check_mmap_afu_irq(ctx, vma); in ocxl_context_mmap()
205 vma->vm_flags |= VM_IO | VM_PFNMAP; in ocxl_context_mmap()
206 vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); in ocxl_context_mmap()
207 vma->vm_ops = &ocxl_vmops; in ocxl_context_mmap()