Lines Matching refs:iova
409 * iova range) in addition to removing the iommu mapping. In the eviction
410 * case (!close), we keep the iova allocated, but only remove the iommu
468 GEM_WARN_ON(vma->iova < range_start);
469 GEM_WARN_ON((vma->iova + obj->size) > range_end);
535 struct msm_gem_address_space *aspace, uint64_t *iova,
549 *iova = vma->iova;
557 * get iova and pin it. Should have a matching put
558 * limits iova to specified range (in pages)
561 struct msm_gem_address_space *aspace, uint64_t *iova,
567 ret = get_and_pin_iova_range_locked(obj, aspace, iova, range_start, range_end);
573 /* get iova and pin it. Should have a matching put */
575 struct msm_gem_address_space *aspace, uint64_t *iova)
577 return msm_gem_get_and_pin_iova_range(obj, aspace, iova, 0, U64_MAX);
581 * Get an iova but don't pin it. Doesn't need a put because iovas are currently
585 struct msm_gem_address_space *aspace, uint64_t *iova)
595 *iova = vma->iova;
618 * Get the requested iova but don't pin it. Fails if the requested iova is
622 * Setting an iova of zero will clear the vma.
625 struct msm_gem_address_space *aspace, uint64_t iova)
630 if (!iova) {
634 vma = get_vma_locked(obj, aspace, iova, iova + obj->size);
637 } else if (GEM_WARN_ON(vma->iova != iova)) {
648 * Unpin a iova by updating the reference counts. The memory isn't actually
992 vma->aspace, vma->iova,
1223 vma->iova = physaddr(obj);
1316 struct drm_gem_object **bo, uint64_t *iova)
1325 if (iova) {
1326 ret = msm_gem_get_and_pin_iova(obj, aspace, iova);