Lines Matching full:unmap
41 * on, or zero for (in particular) UNMAP ops triggered outside of
48 * struct msm_vm_unmap_op - unmap a range of pages from pgtable
51 /** @iova: start address for unmap */
53 /** @range: size of region to unmap */
56 /** @reason: The reason for the unmap */
61 * on, or zero for (in particular) UNMAP ops triggered outside of
68 * struct msm_vma_op - A MAP or UNMAP operation
79 /** @unmap: Parameters used if op == MSM_VMA_OP_UNMAP */
80 struct msm_vm_unmap_op unmap; member
88 * Async unmap ops, in particular, must hold a reference to the
91 * there is not a corresponding unmap op, such as process exit.
103 * gets applied to the vm, generating a list of VM ops (MSM_VM_OP_MAP/UNMAP)
106 * to unmap an existing mapping, and a MSM_VM_OP_MAP to apply the new mapping.
251 reason = "unmap"; in vm_unmap_op()
255 vm->mmu->funcs->unmap(vm->mmu, op->iova, op->range); in vm_unmap_op()
267 /* Actually unmap memory for the vma */
323 * a lock across map/unmap which is also used in the job_run() in msm_gem_vma_map()
544 struct drm_gpuva *orig_vma = op->remap.unmap->va; in msm_gem_vm_sm_step_remap()
561 .unmap = { in msm_gem_vm_sm_step_remap()
575 * the unmapped range is in the middle of the existing (unmap) VMA). in msm_gem_vm_sm_step_remap()
631 struct drm_gpuva *vma = op->unmap.va; in msm_gem_vm_sm_step_unmap()
644 if (op->unmap.keep && in msm_gem_vm_sm_step_unmap()
650 /* We are only expecting a single in-place unmap+map cb pair: */ in msm_gem_vm_sm_step_unmap()
668 .unmap = { in msm_gem_vm_sm_step_unmap()
723 vm_unmap_op(vm, &op->unmap); in msm_vma_job_run()
1018 * UNMAP or MAP_NULL. in lookup_op()
1443 * Maybe we could allow just UNMAP ops? OTOH userspace should just in msm_ioctl_vm_bind()