.map_dma_buf = amdxdna_ubuf_map,
.unmap_dma_buf = amdxdna_ubuf_unmap,
.release = amdxdna_ubuf_release,
- .mmap = amdxdna_ubuf_mmap,
- .vmap = amdxdna_ubuf_vmap,
- .vunmap = amdxdna_ubuf_vunmap,
};
-static int readonly_va_entry(struct amdxdna_drm_va_entry *va_ent)
-{
- struct mm_struct *mm = current->mm;
- struct vm_area_struct *vma;
- int ret;
-
- mmap_read_lock(mm);
-
- vma = find_vma(mm, va_ent->vaddr);
- if (!vma ||
- vma->vm_start > va_ent->vaddr ||
- vma->vm_end - va_ent->vaddr < va_ent->len)
- ret = -ENOENT;
- else
- ret = vma->vm_flags & VM_WRITE ? 0 : 1;
-
- mmap_read_unlock(mm);
- return ret;
-}
-
struct dma_buf *amdxdna_get_ubuf(struct drm_device *dev,
u32 num_entries, void __user *va_entries)
{