/device/soc/rockchip/common/sdk_linux/include/linux/ |
H A D | iova.h | 106 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument 108 return __ffs(iovad->granule); in iova_shift() 111 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask() argument 113 return iovad->granule - 1; in iova_mask() 116 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() argument 118 return iova & iova_mask(iovad); in iova_offset() 121 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align() argument 123 return ALIGN(size, iovad->granule); in iova_align() 126 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() argument 128 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr() 131 iova_pfn(struct iova_domain *iovad, dma_addr_t iova) iova_pfn() argument 178 free_iova(struct iova_domain *iovad, unsigned long pfn) free_iova() argument 182 __free_iova(struct iova_domain *iovad, struct iova *iova) __free_iova() argument 186 alloc_iova(struct iova_domain *iovad, unsigned long size, unsigned long limit_pfn, bool size_aligned) alloc_iova() argument 192 free_iova_fast(struct iova_domain *iovad, unsigned long pfn, unsigned long size) free_iova_fast() argument 196 queue_iova(struct iova_domain *iovad, unsigned long pfn, unsigned long pages, unsigned long data) queue_iova() argument 200 alloc_iova_fast(struct iova_domain *iovad, unsigned long size, unsigned long limit_pfn, bool flush_rcache) alloc_iova_fast() argument 206 reserve_iova(struct iova_domain *iovad, unsigned long pfn_lo, unsigned long pfn_hi) reserve_iova() argument 215 init_iova_domain(struct iova_domain *iovad, unsigned long granule, unsigned long start_pfn) init_iova_domain() argument 219 has_iova_flush_queue(struct iova_domain *iovad) has_iova_flush_queue() argument 224 init_iova_flush_queue(struct iova_domain *iovad, iova_flush_cb flush_cb, iova_entry_dtor entry_dtor) init_iova_flush_queue() argument 229 find_iova(struct iova_domain *iovad, unsigned long pfn) find_iova() argument 234 put_iova_domain(struct iova_domain *iovad) put_iova_domain() argument 238 split_and_remove_iova(struct iova_domain *iovad, struct iova *iova, unsigned long pfn_lo, unsigned long pfn_hi) split_and_remove_iova() argument 244 free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad) free_cpu_cached_iovas() argument [all...] |
/device/soc/rockchip/common/sdk_linux/drivers/iommu/ |
H A D | dma-iommu.c | 44 struct iova_domain iovad; member 57 return cookie->iovad.granule; in cookie_msi_granule() 147 if (cookie->type == IOMMU_DMA_IOVA_COOKIE && cookie->iovad.granule) { in iommu_put_dma_cookie() 148 put_iova_domain(&cookie->iovad); in iommu_put_dma_cookie() 181 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region() local 185 start -= iova_offset(iovad, start); in cookie_init_hw_msi_region() 186 num_pages = iova_align(iovad, end - start) >> iova_shift(iovad); in cookie_init_hw_msi_region() 198 start += iovad in cookie_init_hw_msi_region() 204 iova_reserve_pci_windows(struct pci_dev *dev, struct iova_domain *iovad) iova_reserve_pci_windows() argument 251 struct iova_domain *iovad = &cookie->iovad; iova_reserve_iommu_regions() local 289 iommu_dma_flush_iotlb_all(struct iova_domain *iovad) iommu_dma_flush_iotlb_all() argument 319 struct iova_domain *iovad; iommu_dma_init_domain() local 391 struct iova_domain *iovad; iommu_dma_reserve_iova() local 419 struct iova_domain *iovad; iommu_dma_enable_best_fit_algo() local 470 struct iova_domain *iovad = &cookie->iovad; iommu_dma_alloc_iova() local 510 struct iova_domain *iovad = &cookie->iovad; iommu_dma_free_iova() local 526 struct iova_domain *iovad = &cookie->iovad; iommu_dma_unmap_ext() local 548 struct iova_domain *iovad = &cookie->iovad; iommu_dma_map_ext() local 658 struct iova_domain *iovad = &cookie->iovad; iommu_dma_alloc_remap() local 912 struct iova_domain *iovad = &cookie->iovad; iommu_dma_map_sg() local [all...] |
/device/soc/rockchip/rk3588/kernel/include/trace/hooks/ |
H A D | iommu.h | 26 TP_PROTO(struct device *dev, struct iova_domain *iovad, dma_addr_t iova, size_t size), 27 TP_ARGS(dev, iovad, iova, size)); 34 TP_PROTO(struct iova_domain *iovad, dma_addr_t iova, size_t size), 35 TP_ARGS(iovad, iova, size));
|
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/rga3/ |
H A D | rga_dma_buf.c | 368 struct iova_domain *iovad = &cookie->iovad; in rga_iommu_dma_alloc_iova() local 371 shift = iova_shift(iovad); in rga_iommu_dma_alloc_iova() 387 iova = alloc_iova_fast(iovad, iova_len, dma_limit >> shift, true); in rga_iommu_dma_alloc_iova() 395 struct iova_domain *iovad = &cookie->iovad; in rga_iommu_dma_free_iova() local 397 free_iova_fast(iovad, iova_pfn(iovad, iova), in rga_iommu_dma_free_iova() 398 size >> iova_shift(iovad)); in rga_iommu_dma_free_iova() 442 struct iova_domain *iovad; in rga_iommu_map_virt_addr() local 511 struct iova_domain *iovad; rga_viraddr_get_channel_info() local [all...] |
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/rga3/include/ |
H A D | rga_drv.h | 134 struct iova_domain iovad; member
|