Home
last modified time | relevance | path

Searched refs:pgsize_bitmap (Results 1 – 25 of 47) sorted by relevance

12

/linux-6.15/drivers/iommu/iommufd/
H A Dvfio_compat.c354 unsigned long pgsize_bitmap = ULONG_MAX; in iommufd_get_pagesizes() local
360 pgsize_bitmap &= domain->pgsize_bitmap; in iommufd_get_pagesizes()
363 if (pgsize_bitmap & ~PAGE_MASK) { in iommufd_get_pagesizes()
364 pgsize_bitmap &= PAGE_MASK; in iommufd_get_pagesizes()
365 pgsize_bitmap |= PAGE_SIZE; in iommufd_get_pagesizes()
367 pgsize_bitmap = max(pgsize_bitmap, ioas->iopt.iova_alignment); in iommufd_get_pagesizes()
369 return pgsize_bitmap; in iommufd_get_pagesizes()
H A Dselftest.c444 mock->domain.pgsize_bitmap = MOCK_IO_PAGE_SIZE; in mock_domain_alloc_paging_flags()
446 mock->domain.pgsize_bitmap |= MOCK_HUGE_PAGE_SIZE; in mock_domain_alloc_paging_flags()
546 if (!(domain->pgsize_bitmap & MOCK_HUGE_PAGE_SIZE)) { in mock_domain_unmap_pages()
765 .pgsize_bitmap = MOCK_IO_PAGE_SIZE,
/linux-6.15/drivers/iommu/
H A Dio-pgtable-dart.c125 size_t sz = data->iop.cfg.pgsize_bitmap; in dart_init_pte()
242 if (WARN_ON(pgsize != cfg->pgsize_bitmap)) in dart_map_pages()
301 if (WARN_ON(pgsize != cfg->pgsize_bitmap || !pgcount)) in dart_unmap_pages()
352 iova &= (data->iop.cfg.pgsize_bitmap - 1); in dart_iova_to_phys()
366 pg_shift = __ffs(cfg->pgsize_bitmap); in dart_alloc_pgtable()
406 if (!(cfg->pgsize_bitmap == SZ_4K || cfg->pgsize_bitmap == SZ_16K)) in apple_dart_alloc_pgtable()
H A Dio-pgtable-arm.c887 if (cfg->pgsize_bitmap & PAGE_SIZE) in arm_lpae_restrict_pgsizes()
889 else if (cfg->pgsize_bitmap & ~PAGE_MASK) in arm_lpae_restrict_pgsizes()
891 else if (cfg->pgsize_bitmap & PAGE_MASK) in arm_lpae_restrict_pgsizes()
913 cfg->pgsize_bitmap &= page_sizes; in arm_lpae_restrict_pgsizes()
939 pg_shift = __ffs(cfg->pgsize_bitmap); in arm_lpae_alloc_pgtable()
1166 cfg->pgsize_bitmap &= (SZ_4K | SZ_2M | SZ_1G); in arm_32_lpae_alloc_pgtable_s1()
1176 cfg->pgsize_bitmap &= (SZ_4K | SZ_2M | SZ_1G); in arm_32_lpae_alloc_pgtable_s2()
1282 WARN_ON(!(size & cfg_cookie->pgsize_bitmap)); in dummy_tlb_flush()
1304 cfg->pgsize_bitmap, cfg->ias); in arm_lpae_dump_ops()
1404 size = 1UL << __fls(cfg->pgsize_bitmap); in arm_lpae_run_tests()
[all …]
H A Dvirtio-iommu.c48 u64 pgsize_bitmap; member
389 unsigned long granule = 1UL << __ffs(vdomain->domain.pgsize_bitmap); in viommu_domain_map_identity()
668 viommu_page_size = 1UL << __ffs(viommu->pgsize_bitmap); in viommu_domain_finalise()
683 domain->pgsize_bitmap = viommu->pgsize_bitmap; in viommu_domain_finalise()
1147 &viommu->pgsize_bitmap); in viommu_probe()
1149 if (!viommu->pgsize_bitmap) { in viommu_probe()
1187 viommu_ops.pgsize_bitmap = viommu->pgsize_bitmap; in viommu_probe()
1207 dev_info(dev, "page mask: %#llx\n", viommu->pgsize_bitmap); in viommu_probe()
H A Dmsm_iommu.c342 .pgsize_bitmap = msm_iommu_ops.pgsize_bitmap, in msm_iommu_domain_config()
355 msm_iommu_ops.pgsize_bitmap = priv->cfg.pgsize_bitmap; in msm_iommu_domain_config()
695 .pgsize_bitmap = MSM_IOMMU_PGSIZES,
H A Dio-pgtable-arm-v7s.c726 cfg->pgsize_bitmap &= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_v7s_alloc_pgtable()
789 WARN_ON(!(size & cfg_cookie->pgsize_bitmap)); in dummy_tlb_flush()
820 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, in arm_v7s_do_selftests()
853 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests()
875 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests()
H A Dmtk_iommu.c651 dom->domain.pgsize_bitmap = share_dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
659 .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, in mtk_iommu_domain_finalise()
679 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
1022 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
H A Diommu.c1135 pg_size = domain->pgsize_bitmap ? 1UL << __ffs(domain->pgsize_bitmap) : 0; in iommu_create_device_direct_mappings()
2008 if (!domain->pgsize_bitmap) in iommu_domain_init()
2009 domain->pgsize_bitmap = ops->pgsize_bitmap; in iommu_domain_init()
2401 pgsizes = domain->pgsize_bitmap & GENMASK(__fls(size), 0); in iommu_pgsize()
2417 pgsizes = domain->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); in iommu_pgsize()
2459 if (WARN_ON(!ops->map_pages || domain->pgsize_bitmap == 0UL)) in __iommu_map()
2463 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_map()
2551 if (WARN_ON(!ops->unmap_pages || domain->pgsize_bitmap == 0UL)) in __iommu_unmap()
2555 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_unmap()
H A Dapple-dart.c600 .pgsize_bitmap = dart->pgsize, in apple_dart_finalize_domain()
614 dart_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in apple_dart_finalize_domain()
995 .pgsize_bitmap = -1UL, /* Restricted during dart probe */
H A Dipmmu-vmsa.c433 domain->cfg.pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K; in ipmmu_domain_init_context()
885 .pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K,
/linux-6.15/drivers/gpu/drm/nouveau/nvkm/engine/device/
H A Dtegra.c105 unsigned long pgsize_bitmap; in nvkm_device_tegra_probe_iommu() local
132 pgsize_bitmap = tdev->iommu.domain->pgsize_bitmap; in nvkm_device_tegra_probe_iommu()
133 if (pgsize_bitmap & PAGE_SIZE) { in nvkm_device_tegra_probe_iommu()
136 tdev->iommu.pgshift = fls(pgsize_bitmap & ~PAGE_MASK); in nvkm_device_tegra_probe_iommu()
/linux-6.15/drivers/gpu/drm/msm/
H A Dmsm_iommu.c26 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */ member
46 pgsizes = pagetable->pgsize_bitmap & GENMASK(__fls(size), 0); in calc_pgsize()
62 pgsizes = pagetable->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); in calc_pgsize()
330 pagetable->pgsize_bitmap = ttbr0_cfg.pgsize_bitmap; in msm_iommu_pagetable_create()
/linux-6.15/drivers/iommu/arm/arm-smmu/
H A Darm-smmu-nvidia.c280 smmu->pgsize_bitmap &= GENMASK(PAGE_SHIFT, 0); in nvidia_smmu_init_context()
281 pgtbl_cfg->pgsize_bitmap = smmu->pgsize_bitmap; in nvidia_smmu_init_context()
H A Darm-smmu.c802 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_init_domain_context()
826 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_init_domain_context()
1636 .pgsize_bitmap = -1UL, /* Restricted during device attach */
1907 smmu->pgsize_bitmap |= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_smmu_device_cfg_probe()
1910 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_cfg_probe()
1912 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_cfg_probe()
1914 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_cfg_probe()
1916 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_cfg_probe()
1917 arm_smmu_ops.pgsize_bitmap = smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe()
1919 arm_smmu_ops.pgsize_bitmap |= smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe()
[all …]
H A Dqcom_iommu.c232 .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, in qcom_iommu_init_domain()
250 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in qcom_iommu_init_domain()
601 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
/linux-6.15/drivers/iommu/amd/
H A Dio_pgtable_v2.c246 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize) || !pgcount) in iommu_v2_map_pages()
296 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) in iommu_v2_unmap_pages()
360 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES_V2; in v2_alloc_pgtable()
/linux-6.15/drivers/gpu/drm/arm/
H A Dmalidp_planes.c309 return mmu_dom->pgsize_bitmap; in malidp_get_pgsize_bitmap()
424 (struct malidp_plane_state *ms, u32 *pgsize_bitmap) in malidp_mmu_prefetch_select_mode() argument
429 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_FULL_PGSIZES; in malidp_mmu_prefetch_select_mode()
435 *pgsize_bitmap = largest_pgsize; in malidp_mmu_prefetch_select_mode()
443 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_PARTIAL_PGSIZES; in malidp_mmu_prefetch_select_mode()
449 *pgsize_bitmap = 1 << __ffs(pgsizes); in malidp_mmu_prefetch_select_mode()
452 *pgsize_bitmap = 0; in malidp_mmu_prefetch_select_mode()
/linux-6.15/drivers/vfio/
H A Dvfio_iommu_type1.c72 uint64_t pgsize_bitmap; member
1153 iommu->pgsize_bitmap = ULONG_MAX; in vfio_update_pgsize_bitmap()
1156 iommu->pgsize_bitmap &= domain->domain->pgsize_bitmap; in vfio_update_pgsize_bitmap()
1166 if (iommu->pgsize_bitmap & ~PAGE_MASK) { in vfio_update_pgsize_bitmap()
1167 iommu->pgsize_bitmap &= PAGE_MASK; in vfio_update_pgsize_bitmap()
1168 iommu->pgsize_bitmap |= PAGE_SIZE; in vfio_update_pgsize_bitmap()
1315 pgshift = __ffs(iommu->pgsize_bitmap); in vfio_dma_do_unmap()
2584 iommu->pgsize_bitmap = PAGE_MASK; in vfio_iommu_type1_open()
2750 cap_mig.pgsize_bitmap = (size_t)1 << __ffs(iommu->pgsize_bitmap); in vfio_iommu_migration_build_caps()
2791 info.iova_pgsizes = iommu->pgsize_bitmap; in vfio_iommu_type1_get_info()
[all …]
/linux-6.15/drivers/media/pci/intel/ipu6/
H A Dipu6-mmu.h32 unsigned long pgsize_bitmap; member
H A Dipu6-mmu.c561 mmu_info->pgsize_bitmap = SZ_4K; in ipu6_mmu_alloc()
660 min_pagesz = 1 << __ffs(mmu_info->pgsize_bitmap); in ipu6_mmu_unmap()
681 if (mmu_info->pgsize_bitmap == 0UL) in ipu6_mmu_map()
685 min_pagesz = 1 << __ffs(mmu_info->pgsize_bitmap); in ipu6_mmu_map()
/linux-6.15/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-sva.c228 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
419 smmu_domain->domain.pgsize_bitmap = PAGE_SIZE; in arm_smmu_sva_domain_alloc()
H A Darm-smmu-v3.c2284 tg = __ffs(smmu_domain->domain.pgsize_bitmap); in __arm_smmu_tlb_inv_range()
2542 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_domain_finalise()
2580 smmu_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_domain_finalise()
2663 stu = __ffs(smmu->pgsize_bitmap); in arm_smmu_enable_ats()
4454 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_hw_probe()
4456 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_hw_probe()
4458 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_hw_probe()
4483 smmu->pgsize_bitmap |= 1ULL << 42; /* 4TB */ in arm_smmu_device_hw_probe()
4493 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_hw_probe()
4494 arm_smmu_ops.pgsize_bitmap = smmu->pgsize_bitmap; in arm_smmu_device_hw_probe()
[all …]
/linux-6.15/drivers/media/platform/nvidia/tegra-vde/
H A Diommu.c92 order = __ffs(vde->domain->pgsize_bitmap); in tegra_vde_iommu_init()
/linux-6.15/include/linux/
H A Dio-pgtable.h101 unsigned long pgsize_bitmap; member

12