Home
last modified time | relevance | path

Searched refs:iova (Results 1 – 25 of 29) sorted by relevance

12

/linux-2.6.39/drivers/pci/
Diova.c39 struct iova *curr_iova = in __get_cached_rbnode()
40 container_of(iovad->cached32_node, struct iova, node); in __get_cached_rbnode()
48 unsigned long limit_pfn, struct iova *new) in __cached_rbnode_insert_update()
56 __cached_rbnode_delete_update(struct iova_domain *iovad, struct iova *free) in __cached_rbnode_delete_update()
58 struct iova *cached_iova; in __cached_rbnode_delete_update()
64 cached_iova = container_of(curr, struct iova, node); in __cached_rbnode_delete_update()
87 struct iova *new, bool size_aligned) in __alloc_and_insert_iova_range()
100 struct iova *curr_iova = container_of(curr, struct iova, node); in __alloc_and_insert_iova_range()
146 struct iova *this = container_of(*entry, in __alloc_and_insert_iova_range()
147 struct iova, node); in __alloc_and_insert_iova_range()
[all …]
Dintel-iommu.c363 struct iova *iova[HIGH_WATER_MARK]; member
469 struct iova *alloc_iova_mem(void) in alloc_iova_mem()
474 void free_iova_mem(struct iova *iova) in free_iova_mem() argument
476 kmem_cache_free(iommu_iova_cache, iova); in free_iova_mem()
1305 struct iova *iova; in dmar_init_reserved_ranges() local
1314 iova = reserve_iova(&reserved_iova_list, IOVA_PFN(IOAPIC_RANGE_START), in dmar_init_reserved_ranges()
1316 if (!iova) { in dmar_init_reserved_ranges()
1329 iova = reserve_iova(&reserved_iova_list, in dmar_init_reserved_ranges()
1332 if (!iova) { in dmar_init_reserved_ranges()
2442 static struct iova *intel_alloc_iova(struct device *dev, in intel_alloc_iova()
[all …]
DMakefile33 obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o
/linux-2.6.39/include/linux/
Diova.h23 struct iova { struct
37 struct iova *alloc_iova_mem(void);
38 void free_iova_mem(struct iova *iova);
40 void __free_iova(struct iova_domain *iovad, struct iova *iova);
41 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
44 struct iova *reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo,
48 struct iova *find_iova(struct iova_domain *iovad, unsigned long pfn);
Diommu.h40 int (*map)(struct iommu_domain *domain, unsigned long iova,
42 int (*unmap)(struct iommu_domain *domain, unsigned long iova,
45 unsigned long iova);
60 extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
62 extern int iommu_unmap(struct iommu_domain *domain, unsigned long iova,
65 unsigned long iova);
100 static inline int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map() argument
106 static inline int iommu_unmap(struct iommu_domain *domain, unsigned long iova, in iommu_unmap() argument
113 unsigned long iova) in iommu_iova_to_phys() argument
/linux-2.6.39/drivers/base/
Diommu.c84 unsigned long iova) in iommu_iova_to_phys() argument
86 return iommu_ops->iova_to_phys(domain, iova); in iommu_iova_to_phys()
97 int iommu_map(struct iommu_domain *domain, unsigned long iova, in iommu_map() argument
106 BUG_ON((iova | paddr) & invalid_mask); in iommu_map()
108 return iommu_ops->map(domain, iova, paddr, gfp_order, prot); in iommu_map()
112 int iommu_unmap(struct iommu_domain *domain, unsigned long iova, int gfp_order) in iommu_unmap() argument
120 BUG_ON(iova & invalid_mask); in iommu_unmap()
122 return iommu_ops->unmap(domain, iova, gfp_order); in iommu_unmap()
/linux-2.6.39/arch/ia64/hp/common/
Dsba_iommu.c223 dma_addr_t iova; member
436 #define SBA_IOVP(ioc,iova) ((iova) & ~(ioc->ibase)) argument
669 sba_mark_invalid(ioc, d->iova, d->size); in sba_alloc_range()
670 sba_free_range(ioc, d->iova, d->size); in sba_alloc_range()
729 sba_free_range(struct ioc *ioc, dma_addr_t iova, size_t size) in sba_free_range() argument
731 unsigned long iovp = SBA_IOVP(ioc, iova); in sba_free_range()
755 DBG_RES("%s( ,%x,%x) %x/%lx %x %p %lx\n", __func__, (uint) iova, size, in sba_free_range()
847 sba_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt) in sba_mark_invalid() argument
849 u32 iovp = (u32) SBA_IOVP(ioc,iova); in sba_mark_invalid()
1016 sba_mark_clean(struct ioc *ioc, dma_addr_t iova, size_t size) in sba_mark_clean() argument
[all …]
/linux-2.6.39/drivers/infiniband/hw/ipath/
Dipath_mr.c148 mr->mr.iova = *iova_start; in ipath_reg_phys_mr()
218 mr->mr.iova = virt_addr; in ipath_reg_user_mr()
322 fmr->mr.iova = 0; in ipath_alloc_fmr()
353 int list_len, u64 iova) in ipath_map_phys_fmr() argument
368 fmr->mr.user_base = iova; in ipath_map_phys_fmr()
369 fmr->mr.iova = iova; in ipath_map_phys_fmr()
406 fmr->mr.iova = 0; in ipath_unmap_fmr()
Dipath_keys.c239 off = vaddr - mr->iova; in ipath_rkey_ok()
240 if (unlikely(vaddr < mr->iova || off + len > mr->length || in ipath_rkey_ok()
Dipath_verbs.h244 u64 iova; /* IB start address of this region */ member
836 int list_len, u64 iova);
/linux-2.6.39/drivers/infiniband/hw/qib/
Dqib_mr.c159 mr->mr.iova = *iova_start; in qib_reg_phys_mr()
228 mr->mr.iova = virt_addr; in qib_reg_user_mr()
307 mr->mr.iova = 0; in qib_alloc_fast_reg_mr()
390 fmr->mr.iova = 0; in qib_alloc_fmr()
422 int list_len, u64 iova) in qib_map_phys_fmr() argument
440 fmr->mr.user_base = iova; in qib_map_phys_fmr()
441 fmr->mr.iova = iova; in qib_map_phys_fmr()
477 fmr->mr.iova = 0; in qib_unmap_fmr()
Dqib_keys.c264 off = vaddr - mr->iova; in qib_rkey_ok()
265 if (unlikely(vaddr < mr->iova || off + len > mr->length || in qib_rkey_ok()
340 mr->iova = wr->wr.fast_reg.iova_start; in qib_fast_reg_mr()
/linux-2.6.39/arch/parisc/include/asm/
Ddma-mapping.h11 void *(*alloc_consistent)(struct device *dev, size_t size, dma_addr_t *iova, gfp_t flag);
12 void *(*alloc_noncoherent)(struct device *dev, size_t size, dma_addr_t *iova, gfp_t flag);
13 void (*free_consistent)(struct device *dev, size_t size, void *vaddr, dma_addr_t iova);
15 …void (*unmap_single)(struct device *dev, dma_addr_t iova, size_t size, enum dma_data_direction dir…
18 …void (*dma_sync_single_for_cpu)(struct device *dev, dma_addr_t iova, unsigned long offset, size_t …
19 …void (*dma_sync_single_for_device)(struct device *dev, dma_addr_t iova, unsigned long offset, size…
Dropes.h49 dma_addr_t iova; member
/linux-2.6.39/drivers/parisc/
Dsba_iommu.c305 #define SBA_IOVP(ioc,iova) ((iova) & (ioc)->iovp_mask) argument
309 #define SBA_IOVP(ioc,iova) (iova) argument
487 sba_free_range(struct ioc *ioc, dma_addr_t iova, size_t size) in sba_free_range() argument
489 unsigned long iovp = SBA_IOVP(ioc, iova); in sba_free_range()
500 __func__, (uint) iova, size, in sba_free_range()
608 sba_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt) in sba_mark_invalid() argument
610 u32 iovp = (u32) SBA_IOVP(ioc,iova); in sba_mark_invalid()
791 sba_unmap_single(struct device *dev, dma_addr_t iova, size_t size, in sba_unmap_single() argument
801 DBG_RUN("%s() iovp 0x%lx/%x\n", __func__, (long) iova, size); in sba_unmap_single()
804 offset = iova & ~IOVP_MASK; in sba_unmap_single()
[all …]
Dccio-dma.c283 #define CCIO_IOVP(iova) ((iova) & IOVP_MASK) argument
431 ccio_free_range(struct ioc *ioc, dma_addr_t iova, unsigned long pages_mapped) in ccio_free_range() argument
433 unsigned long iovp = CCIO_IOVP(iova); in ccio_free_range()
663 ccio_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt) in ccio_mark_invalid() argument
665 u32 iovp = (u32)CCIO_IOVP(iova); in ccio_mark_invalid()
693 ccio_clear_io_tlb(ioc, CCIO_IOVP(iova), saved_byte_cnt); in ccio_mark_invalid()
800 ccio_unmap_single(struct device *dev, dma_addr_t iova, size_t size, in ccio_unmap_single() argument
805 dma_addr_t offset = iova & ~IOVP_MASK; in ccio_unmap_single()
811 __func__, (long)iova, size); in ccio_unmap_single()
813 iova ^= offset; /* clear offset bits */ in ccio_unmap_single()
[all …]
/linux-2.6.39/drivers/net/mlx4/
Dmr.c266 int mlx4_mr_alloc(struct mlx4_dev *dev, u32 pd, u64 iova, u64 size, u32 access, in mlx4_mr_alloc() argument
277 mr->iova = iova; in mlx4_mr_alloc()
336 mpt_entry->start = cpu_to_be64(mr->iova); in mlx4_mr_enable()
506 int npages, u64 iova) in mlx4_check_fmr() argument
516 if (iova & page_mask) in mlx4_check_fmr()
533 int npages, u64 iova, u32 *lkey, u32 *rkey) in mlx4_map_phys_fmr() argument
538 err = mlx4_check_fmr(fmr, page_list, npages, iova); in mlx4_map_phys_fmr()
565 fmr->mpt->start = cpu_to_be64(iova); in mlx4_map_phys_fmr()
/linux-2.6.39/drivers/infiniband/hw/mthca/
Dmthca_mr.c437 u64 iova, u64 total_size, u32 access, struct mthca_mr *mr) in mthca_mr_alloc() argument
477 mpt_entry->start = cpu_to_be64(iova); in mthca_mr_alloc()
535 int list_len, u64 iova, u64 total_size, in mthca_mr_alloc_phys() argument
550 err = mthca_mr_alloc(dev, pd, buffer_size_shift, iova, in mthca_mr_alloc_phys()
717 int list_len, u64 iova) in mthca_check_fmr() argument
727 if (iova & page_mask) in mthca_check_fmr()
745 int list_len, u64 iova) in mthca_tavor_map_phys_fmr() argument
753 err = mthca_check_fmr(fmr, page_list, list_len, iova); in mthca_tavor_map_phys_fmr()
773 mpt_entry.start = cpu_to_be64(iova); in mthca_tavor_map_phys_fmr()
786 int list_len, u64 iova) in mthca_arbel_map_phys_fmr() argument
[all …]
Dmthca_dev.h472 u64 iova, u64 total_size, u32 access, struct mthca_mr *mr);
477 int list_len, u64 iova, u64 total_size,
484 int list_len, u64 iova);
487 int list_len, u64 iova);
/linux-2.6.39/include/linux/mlx4/
Ddevice.h332 u64 iova; member
500 int mlx4_mr_alloc(struct mlx4_dev *dev, u32 pd, u64 iova, u64 size, u32 access,
556 int npages, u64 iova, u32 *lkey, u32 *rkey);
/linux-2.6.39/drivers/infiniband/hw/mlx4/
Dmr.c303 int npages, u64 iova) in mlx4_ib_map_phys_fmr() argument
308 return mlx4_map_phys_fmr(dev->dev, &ifmr->mfmr, page_list, npages, iova, in mlx4_ib_map_phys_fmr()
Dmlx4_ib.h330 u64 iova);
/linux-2.6.39/arch/arm/plat-omap/include/plat/
Diommu.h167 extern size_t iopgtable_clear_entry(struct iommu *obj, u32 iova);
/linux-2.6.39/arch/x86/kernel/
Damd_iommu.c2513 static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova, in amd_iommu_map() argument
2527 ret = iommu_map_page(domain, iova, paddr, prot, page_size); in amd_iommu_map()
2533 static int amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova, in amd_iommu_unmap() argument
2542 unmap_size = iommu_unmap_page(domain, iova, page_size); in amd_iommu_unmap()
2551 unsigned long iova) in amd_iommu_iova_to_phys() argument
2558 pte = fetch_pte(domain, iova); in amd_iommu_iova_to_phys()
2569 paddr = (__pte & ~offset_mask) | (iova & offset_mask); in amd_iommu_iova_to_phys()
/linux-2.6.39/drivers/infiniband/hw/ehca/
Dehca_iverbs.h110 u64 *page_list, int list_len, u64 iova);

12