Lines Matching defs:ua
33 u64 ua; /* userspace address */
39 * We need to convert ua to hpa in real mode. Make it
56 static long mm_iommu_do_alloc(struct mm_struct *mm, unsigned long ua,
88 * we use @ua and @entries natural alignment to allow IOMMU pages
91 mem->pageshift = __ffs(ua | (entries << PAGE_SHIFT));
106 ret = pin_user_pages(ua + (entry << PAGE_SHIFT), n,
127 mem->ua = ua;
134 if ((mem2->ua < (ua + (entries << PAGE_SHIFT))) &&
135 (ua < (mem2->ua +
185 long mm_iommu_new(struct mm_struct *mm, unsigned long ua, unsigned long entries,
188 return mm_iommu_do_alloc(mm, ua, entries, MM_IOMMU_TABLE_INVALID_HPA,
193 long mm_iommu_newdev(struct mm_struct *mm, unsigned long ua,
197 return mm_iommu_do_alloc(mm, ua, entries, dev_hpa, pmem);
288 unsigned long ua, unsigned long size)
293 if ((mem->ua <= ua) &&
294 (ua + size <= mem->ua +
306 unsigned long ua, unsigned long size)
312 if ((mem->ua <= ua) &&
313 (ua + size <= mem->ua +
324 unsigned long ua, unsigned long entries)
331 if ((mem->ua == ua) && (mem->entries == entries)) {
345 unsigned long ua, unsigned int pageshift, unsigned long *hpa)
347 const long entry = (ua - mem->ua) >> PAGE_SHIFT;
357 *hpa = mem->dev_hpa + (ua - mem->ua);
362 *hpa = (*va & MM_IOMMU_TABLE_GROUP_PAGE_MASK) | (ua & ~PAGE_MASK);
369 unsigned long ua, unsigned int pageshift, unsigned long *hpa)
371 const long entry = (ua - mem->ua) >> PAGE_SHIFT;
381 *hpa = mem->dev_hpa + (ua - mem->ua);
389 *hpa = (*pa & MM_IOMMU_TABLE_GROUP_PAGE_MASK) | (ua & ~PAGE_MASK);
394 extern void mm_iommu_ua_mark_dirty_rm(struct mm_struct *mm, unsigned long ua)
401 mem = mm_iommu_lookup_rm(mm, ua, PAGE_SIZE);
408 entry = (ua - mem->ua) >> PAGE_SHIFT;