/linux-master/include/linux/ |
H A D | iommu.h | 209 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */ member in struct:iommu_domain 541 * @pgsize_bitmap: bitmap of all possible supported page sizes 587 unsigned long pgsize_bitmap; member in struct:iommu_ops
|
/linux-master/drivers/vfio/ |
H A D | vfio_iommu_type1.c | 72 uint64_t pgsize_bitmap; member in struct:vfio_iommu 275 unsigned long pgshift = __ffs(iommu->pgsize_bitmap); 869 unsigned long pgshift = __ffs(iommu->pgsize_bitmap); 1127 iommu->pgsize_bitmap = ULONG_MAX; 1130 iommu->pgsize_bitmap &= domain->domain->pgsize_bitmap; 1140 if (iommu->pgsize_bitmap & ~PAGE_MASK) { 1141 iommu->pgsize_bitmap &= PAGE_MASK; 1142 iommu->pgsize_bitmap |= PAGE_SIZE; 1289 pgshift = __ffs(iommu->pgsize_bitmap); [all...] |
/linux-master/drivers/iommu/ |
H A D | virtio-iommu.c | 48 u64 pgsize_bitmap; member in struct:viommu_dev 389 unsigned long granule = 1UL << __ffs(vdomain->domain.pgsize_bitmap); 668 viommu_page_size = 1UL << __ffs(viommu->pgsize_bitmap); 683 domain->pgsize_bitmap = viommu->pgsize_bitmap; 1148 &viommu->pgsize_bitmap); 1150 if (!viommu->pgsize_bitmap) { 1188 viommu_ops.pgsize_bitmap = viommu->pgsize_bitmap; 1208 dev_info(dev, "page mask: %#llx\n", viommu->pgsize_bitmap); [all...] |
H A D | tegra-smmu.c | 1001 .pgsize_bitmap = SZ_4K,
|
H A D | sun50i-iommu.c | 835 .pgsize_bitmap = SZ_4K,
|
H A D | s390-iommu.c | 785 .pgsize_bitmap = SZ_4K,
|
H A D | rockchip-iommu.c | 834 * pgsize_bitmap specifies iova sizes that fit in one page table 875 * pgsize_bitmap specifies iova sizes that fit in one page table 1171 .pgsize_bitmap = RK_IOMMU_PGSIZE_BITMAP,
|
H A D | iommu.c | 1102 pg_size = domain->pgsize_bitmap ? 1UL << __ffs(domain->pgsize_bitmap) : 0; 1977 if (!domain->pgsize_bitmap) 1978 domain->pgsize_bitmap = ops->pgsize_bitmap; 2383 pgsizes = domain->pgsize_bitmap & GENMASK(__fls(size), 0); 2399 pgsizes = domain->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); 2441 if (WARN_ON(!ops->map_pages || domain->pgsize_bitmap == 0UL)) 2445 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); 2533 if (WARN_ON(!ops->unmap_pages || domain->pgsize_bitmap [all...] |
H A D | io-pgtable-dart.c | 125 size_t sz = data->iop.cfg.pgsize_bitmap; 242 if (WARN_ON(pgsize != cfg->pgsize_bitmap)) 302 if (WARN_ON(pgsize != cfg->pgsize_bitmap || !pgcount)) 353 iova &= (data->iop.cfg.pgsize_bitmap - 1); 367 pg_shift = __ffs(cfg->pgsize_bitmap); 407 if (!(cfg->pgsize_bitmap == SZ_4K || cfg->pgsize_bitmap == SZ_16K))
|
H A D | io-pgtable-arm.c | 490 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize)) 681 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) 741 if (cfg->pgsize_bitmap & PAGE_SIZE) 743 else if (cfg->pgsize_bitmap & ~PAGE_MASK) 744 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); 745 else if (cfg->pgsize_bitmap & PAGE_MASK) 746 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); 767 cfg->pgsize_bitmap &= page_sizes; 780 if (!(cfg->pgsize_bitmap & (SZ_4K | SZ_16K | SZ_64K))) 793 pg_shift = __ffs(cfg->pgsize_bitmap); [all...] |
H A D | exynos-iommu.c | 1480 .pgsize_bitmap = SECT_SIZE | LPAGE_SIZE | SPAGE_SIZE,
|
H A D | dma-iommu.c | 684 order = __ffs(domain->pgsize_bitmap); 950 unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap; 1707 return (1UL << __ffs(domain->pgsize_bitmap)) - 1;
|
/linux-master/drivers/iommu/intel/ |
H A D | iommu.c | 494 domain->domain.pgsize_bitmap |= domain_super_pgsize_bitmap(domain); 4593 .pgsize_bitmap = SZ_4K,
|
/linux-master/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.h | 322 unsigned long pgsize_bitmap; member in struct:arm_smmu_device
|
H A D | arm-smmu.c | 759 .pgsize_bitmap = smmu->pgsize_bitmap, 783 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 1611 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 1883 smmu->pgsize_bitmap |= SZ_4K | SZ_64K | SZ_1M | SZ_16M; 1886 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; 1888 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; 1890 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; 1892 if (arm_smmu_ops.pgsize_bitmap [all...] |
/linux-master/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.h | 668 unsigned long pgsize_bitmap; member in struct:arm_smmu_device
|
H A D | arm-smmu-v3.c | 2102 tg = __ffs(smmu_domain->domain.pgsize_bitmap); 2371 .pgsize_bitmap = smmu->pgsize_bitmap, 2383 smmu_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 2466 stu = __ffs(smmu->pgsize_bitmap); 3112 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 3859 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; 3861 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; 3863 smmu->pgsize_bitmap | [all...] |
H A D | arm-smmu-v3-sva.c | 483 if (!(smmu->pgsize_bitmap & PAGE_SIZE))
|
/linux-master/drivers/iommu/amd/ |
H A D | iommu.c | 2315 pdom->domain.pgsize_bitmap = AMD_IOMMU_PGSIZES_V2; 2428 domain->domain.pgsize_bitmap = iommu->iommu.ops->pgsize_bitmap; 2870 .pgsize_bitmap = AMD_IOMMU_PGSIZES,
|
H A D | io_pgtable_v2.c | 246 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize) || !pgcount) 290 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) 376 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES_V2,
|
H A D | io_pgtable.c | 591 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES,
|
/linux-master/drivers/media/pci/intel/ipu6/ |
H A D | ipu6-mmu.h | 32 unsigned long pgsize_bitmap; member in struct:ipu6_mmu_info
|
H A D | ipu6-mmu.c | 531 mmu_info->pgsize_bitmap = SZ_4K; 622 static size_t ipu6_mmu_pgsize(unsigned long pgsize_bitmap, argument 639 pgsize &= pgsize_bitmap; 657 min_pagesz = 1 << __ffs(mmu_info->pgsize_bitmap); 675 size_t pgsize = ipu6_mmu_pgsize(mmu_info->pgsize_bitmap, 700 if (mmu_info->pgsize_bitmap == 0UL) 704 min_pagesz = 1 << __ffs(mmu_info->pgsize_bitmap); 722 size_t pgsize = ipu6_mmu_pgsize(mmu_info->pgsize_bitmap,
|
/linux-master/drivers/gpu/drm/panthor/ |
H A D | panthor_mmu.c | 2276 .pgsize_bitmap = SZ_4K | SZ_2M,
|
/linux-master/drivers/gpu/host1x/ |
H A D | dev.c | 425 order = __ffs(host->domain->pgsize_bitmap);
|