/Linux-v5.10/drivers/iommu/ |
D | io-pgtable-arm.c | 451 if (WARN_ON(!size || (size & cfg->pgsize_bitmap) != size)) in arm_lpae_map() 624 if (WARN_ON(!size || (size & cfg->pgsize_bitmap) != size)) in arm_lpae_unmap() 683 if (cfg->pgsize_bitmap & PAGE_SIZE) in arm_lpae_restrict_pgsizes() 685 else if (cfg->pgsize_bitmap & ~PAGE_MASK) in arm_lpae_restrict_pgsizes() 686 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); in arm_lpae_restrict_pgsizes() 687 else if (cfg->pgsize_bitmap & PAGE_MASK) in arm_lpae_restrict_pgsizes() 688 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); in arm_lpae_restrict_pgsizes() 709 cfg->pgsize_bitmap &= page_sizes; in arm_lpae_restrict_pgsizes() 722 if (!(cfg->pgsize_bitmap & (SZ_4K | SZ_16K | SZ_64K))) in arm_lpae_alloc_pgtable() 735 pg_shift = __ffs(cfg->pgsize_bitmap); in arm_lpae_alloc_pgtable() [all …]
|
D | virtio-iommu.c | 49 u64 pgsize_bitmap; member 618 viommu_page_size = 1UL << __ffs(viommu->pgsize_bitmap); in viommu_domain_finalise() 633 domain->pgsize_bitmap = viommu->pgsize_bitmap; in viommu_domain_finalise() 1014 &viommu->pgsize_bitmap); in viommu_probe() 1016 if (!viommu->pgsize_bitmap) { in viommu_probe() 1054 viommu_ops.pgsize_bitmap = viommu->pgsize_bitmap; in viommu_probe() 1097 dev_info(dev, "page mask: %#llx\n", viommu->pgsize_bitmap); in viommu_probe()
|
D | io-pgtable-arm-v7s.c | 797 cfg->pgsize_bitmap &= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_v7s_alloc_pgtable() 856 WARN_ON(!(size & cfg_cookie->pgsize_bitmap)); in dummy_tlb_flush() 888 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, in arm_v7s_do_selftests() 920 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests() 942 size = 1UL << __ffs(cfg.pgsize_bitmap); in arm_v7s_do_selftests() 960 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests()
|
D | msm_iommu.c | 354 .pgsize_bitmap = msm_iommu_ops.pgsize_bitmap, in msm_iommu_domain_config() 367 msm_iommu_ops.pgsize_bitmap = priv->cfg.pgsize_bitmap; in msm_iommu_domain_config() 694 .pgsize_bitmap = MSM_IOMMU_PGSIZES,
|
D | mtk_iommu.c | 328 .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, in mtk_iommu_domain_finalise() 342 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise() 548 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
|
D | iommu.c | 732 BUG_ON(!domain->pgsize_bitmap); in iommu_create_device_direct_mappings() 734 pg_size = 1UL << __ffs(domain->pgsize_bitmap); in iommu_create_device_direct_mappings() 1907 domain->pgsize_bitmap = bus->iommu_ops->pgsize_bitmap; in __iommu_domain_alloc() 2352 pgsize &= domain->pgsize_bitmap; in iommu_pgsize() 2375 domain->pgsize_bitmap == 0UL)) in __iommu_map() 2382 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_map() 2449 domain->pgsize_bitmap == 0UL)) in __iommu_unmap() 2456 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_unmap() 2663 *paging = (domain->pgsize_bitmap != 0UL); in iommu_domain_get_attr()
|
D | s390-iommu.c | 369 .pgsize_bitmap = S390_IOMMU_PGSIZES,
|
D | tegra-gart.c | 287 .pgsize_bitmap = GART_IOMMU_PGSIZES,
|
D | dma-iommu.c | 315 order = __ffs(domain->pgsize_bitmap); in iommu_dma_init_domain() 591 unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap; in iommu_dma_alloc_remap() 1147 return (1UL << __ffs(domain->pgsize_bitmap)) - 1; in iommu_dma_get_merge_boundary()
|
D | ipmmu-vmsa.c | 437 domain->cfg.pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K; in ipmmu_domain_init_context() 911 .pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K,
|
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/engine/device/ |
D | tegra.c | 109 unsigned long pgsize_bitmap; in nvkm_device_tegra_probe_iommu() local 136 pgsize_bitmap = tdev->iommu.domain->ops->pgsize_bitmap; in nvkm_device_tegra_probe_iommu() 137 if (pgsize_bitmap & PAGE_SIZE) { in nvkm_device_tegra_probe_iommu() 140 tdev->iommu.pgshift = fls(pgsize_bitmap & ~PAGE_MASK); in nvkm_device_tegra_probe_iommu()
|
/Linux-v5.10/drivers/gpu/drm/arm/ |
D | malidp_planes.c | 313 u32 pgsize_bitmap = 0; in malidp_get_pgsize_bitmap() local 320 pgsize_bitmap = mmu_dom->pgsize_bitmap; in malidp_get_pgsize_bitmap() 323 return pgsize_bitmap; in malidp_get_pgsize_bitmap() 436 (struct malidp_plane_state *ms, u32 *pgsize_bitmap) in malidp_mmu_prefetch_select_mode() argument 441 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_FULL_PGSIZES; in malidp_mmu_prefetch_select_mode() 447 *pgsize_bitmap = largest_pgsize; in malidp_mmu_prefetch_select_mode() 455 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_PARTIAL_PGSIZES; in malidp_mmu_prefetch_select_mode() 461 *pgsize_bitmap = 1 << __ffs(pgsizes); in malidp_mmu_prefetch_select_mode() 464 *pgsize_bitmap = 0; in malidp_mmu_prefetch_select_mode()
|
/Linux-v5.10/drivers/iommu/arm/arm-smmu/ |
D | arm-smmu.c | 772 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_init_domain_context() 796 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_init_domain_context() 1626 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 1886 smmu->pgsize_bitmap |= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_smmu_device_cfg_probe() 1889 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_cfg_probe() 1891 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_cfg_probe() 1893 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_cfg_probe() 1895 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_cfg_probe() 1896 arm_smmu_ops.pgsize_bitmap = smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe() 1898 arm_smmu_ops.pgsize_bitmap |= smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe() [all …]
|
D | qcom_iommu.c | 252 .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, in qcom_iommu_init_domain() 270 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in qcom_iommu_init_domain() 623 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
|
D | arm-smmu.h | 316 unsigned long pgsize_bitmap; member
|
/Linux-v5.10/drivers/vfio/ |
D | vfio_iommu_type1.c | 72 uint64_t pgsize_bitmap; member 702 unsigned long pgshift = __ffs(iommu->pgsize_bitmap); in vfio_iommu_type1_pin_pages() 960 iommu->pgsize_bitmap = ULONG_MAX; in vfio_update_pgsize_bitmap() 963 iommu->pgsize_bitmap &= domain->domain->pgsize_bitmap; in vfio_update_pgsize_bitmap() 973 if (iommu->pgsize_bitmap & ~PAGE_MASK) { in vfio_update_pgsize_bitmap() 974 iommu->pgsize_bitmap &= PAGE_MASK; in vfio_update_pgsize_bitmap() 975 iommu->pgsize_bitmap |= PAGE_SIZE; in vfio_update_pgsize_bitmap() 1082 pgshift = __ffs(iommu->pgsize_bitmap); in vfio_dma_do_unmap() 1321 pgsize = (size_t)1 << __ffs(iommu->pgsize_bitmap); in vfio_dma_do_map() 2600 cap_mig.pgsize_bitmap = (size_t)1 << __ffs(iommu->pgsize_bitmap); in vfio_iommu_migration_build_caps() [all …]
|
/Linux-v5.10/drivers/iommu/arm/arm-smmu-v3/ |
D | arm-smmu-v3.c | 1678 tg = __ffs(smmu_domain->domain.pgsize_bitmap); in arm_smmu_tlb_inv_range() 1974 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_domain_finalise() 1989 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_domain_finalise() 2072 stu = __ffs(smmu->pgsize_bitmap); in arm_smmu_enable_ats() 2592 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 3305 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_hw_probe() 3307 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_hw_probe() 3309 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_hw_probe() 3334 smmu->pgsize_bitmap |= 1ULL << 42; /* 4TB */ in arm_smmu_device_hw_probe() 3344 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_hw_probe() [all …]
|
D | arm-smmu-v3-sva.c | 171 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
|
D | arm-smmu-v3.h | 623 unsigned long pgsize_bitmap; member
|
/Linux-v5.10/drivers/staging/media/tegra-vde/ |
D | iommu.c | 91 order = __ffs(vde->domain->pgsize_bitmap); in tegra_vde_iommu_init()
|
/Linux-v5.10/include/linux/ |
D | io-pgtable.h | 97 unsigned long pgsize_bitmap; member
|
D | iommu.h | 85 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */ member 303 unsigned long pgsize_bitmap; member
|
/Linux-v5.10/include/uapi/linux/ |
D | vfio.h | 1050 __u64 pgsize_bitmap; member
|
/Linux-v5.10/drivers/gpu/host1x/ |
D | dev.c | 274 order = __ffs(host->domain->pgsize_bitmap); in host1x_iommu_attach()
|
/Linux-v5.10/drivers/gpu/drm/panfrost/ |
D | panfrost_mmu.c | 371 .pgsize_bitmap = SZ_4K | SZ_2M, in panfrost_mmu_pgtable_alloc()
|