Home
last modified time | relevance | path

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

12

/Linux-v5.15/drivers/iommu/
Dio-pgtable-arm.c487 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize)) in arm_lpae_map_pages()
685 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) in arm_lpae_unmap_pages()
751 if (cfg->pgsize_bitmap & PAGE_SIZE) in arm_lpae_restrict_pgsizes()
753 else if (cfg->pgsize_bitmap & ~PAGE_MASK) in arm_lpae_restrict_pgsizes()
754 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); in arm_lpae_restrict_pgsizes()
755 else if (cfg->pgsize_bitmap & PAGE_MASK) in arm_lpae_restrict_pgsizes()
756 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); in arm_lpae_restrict_pgsizes()
777 cfg->pgsize_bitmap &= page_sizes; in arm_lpae_restrict_pgsizes()
790 if (!(cfg->pgsize_bitmap & (SZ_4K | SZ_16K | SZ_64K))) in arm_lpae_alloc_pgtable()
803 pg_shift = __ffs(cfg->pgsize_bitmap); in arm_lpae_alloc_pgtable()
[all …]
Dvirtio-iommu.c49 u64 pgsize_bitmap; member
612 viommu_page_size = 1UL << __ffs(viommu->pgsize_bitmap); in viommu_domain_finalise()
627 domain->pgsize_bitmap = viommu->pgsize_bitmap; in viommu_domain_finalise()
1017 &viommu->pgsize_bitmap); in viommu_probe()
1019 if (!viommu->pgsize_bitmap) { in viommu_probe()
1057 viommu_ops.pgsize_bitmap = viommu->pgsize_bitmap; in viommu_probe()
1097 dev_info(dev, "page mask: %#llx\n", viommu->pgsize_bitmap); in viommu_probe()
Dmtk_iommu.c396 dom->domain.pgsize_bitmap = data->m4u_dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
404 .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, in mtk_iommu_domain_finalise()
421 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap; in mtk_iommu_domain_finalise()
674 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
Dio-pgtable-arm-v7s.c822 cfg->pgsize_bitmap &= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_v7s_alloc_pgtable()
881 WARN_ON(!(size & cfg_cookie->pgsize_bitmap)); in dummy_tlb_flush()
912 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, in arm_v7s_do_selftests()
944 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests()
966 size = 1UL << __ffs(cfg.pgsize_bitmap); in arm_v7s_do_selftests()
984 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { in arm_v7s_do_selftests()
Dmsm_iommu.c345 .pgsize_bitmap = msm_iommu_ops.pgsize_bitmap, in msm_iommu_domain_config()
358 msm_iommu_ops.pgsize_bitmap = priv->cfg.pgsize_bitmap; in msm_iommu_domain_config()
694 .pgsize_bitmap = MSM_IOMMU_PGSIZES,
Dapple-dart.c417 .pgsize_bitmap = dart->pgsize, in apple_dart_finalize_domain()
431 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in apple_dart_finalize_domain()
754 .pgsize_bitmap = -1UL, /* Restricted during dart probe */
Diommu.c774 BUG_ON(!domain->pgsize_bitmap); in iommu_create_device_direct_mappings()
776 pg_size = 1UL << __ffs(domain->pgsize_bitmap); in iommu_create_device_direct_mappings()
1954 domain->pgsize_bitmap = bus->iommu_ops->pgsize_bitmap; in __iommu_domain_alloc()
2407 pgsizes = domain->pgsize_bitmap & GENMASK(__fls(size), 0); in iommu_pgsize()
2423 pgsizes = domain->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); in iommu_pgsize()
2487 domain->pgsize_bitmap == 0UL)) in __iommu_map()
2494 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_map()
2587 domain->pgsize_bitmap == 0UL)) in __iommu_unmap()
2594 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); in __iommu_unmap()
Ds390-iommu.c375 .pgsize_bitmap = S390_IOMMU_PGSIZES,
Dtegra-gart.c290 .pgsize_bitmap = GART_IOMMU_PGSIZES,
Dipmmu-vmsa.c434 domain->cfg.pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K; in ipmmu_domain_init_context()
880 .pgsize_bitmap = SZ_1G | SZ_2M | SZ_4K,
Ddma-iommu.c369 order = __ffs(domain->pgsize_bitmap); in iommu_dma_init_domain()
677 unsigned int count, min_size, alloc_sizes = domain->pgsize_bitmap; in __iommu_dma_alloc_noncontiguous()
1308 return (1UL << __ffs(domain->pgsize_bitmap)) - 1; in iommu_dma_get_merge_boundary()
Dsprd-iommu.c431 .pgsize_bitmap = ~0UL << SPRD_IOMMU_PAGE_SHIFT,
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/device/
Dtegra.c109 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.15/drivers/gpu/drm/arm/
Dmalidp_planes.c313 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.15/drivers/iommu/arm/arm-smmu/
Darm-smmu.c767 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_init_domain_context()
791 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_init_domain_context()
1603 .pgsize_bitmap = -1UL, /* Restricted during device attach */
1864 smmu->pgsize_bitmap |= SZ_4K | SZ_64K | SZ_1M | SZ_16M; in arm_smmu_device_cfg_probe()
1867 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_cfg_probe()
1869 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_cfg_probe()
1871 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_cfg_probe()
1873 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_cfg_probe()
1874 arm_smmu_ops.pgsize_bitmap = smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe()
1876 arm_smmu_ops.pgsize_bitmap |= smmu->pgsize_bitmap; in arm_smmu_device_cfg_probe()
[all …]
Dqcom_iommu.c242 .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, in qcom_iommu_init_domain()
260 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in qcom_iommu_init_domain()
605 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
/Linux-v5.15/drivers/vfio/
Dvfio_iommu_type1.c74 uint64_t pgsize_bitmap; member
282 unsigned long pgshift = __ffs(iommu->pgsize_bitmap); in vfio_iommu_populate_bitmap_full()
920 unsigned long pgshift = __ffs(iommu->pgsize_bitmap); in vfio_iommu_type1_pin_pages()
1183 iommu->pgsize_bitmap = ULONG_MAX; in vfio_update_pgsize_bitmap()
1186 iommu->pgsize_bitmap &= domain->domain->pgsize_bitmap; in vfio_update_pgsize_bitmap()
1196 if (iommu->pgsize_bitmap & ~PAGE_MASK) { in vfio_update_pgsize_bitmap()
1197 iommu->pgsize_bitmap &= PAGE_MASK; in vfio_update_pgsize_bitmap()
1198 iommu->pgsize_bitmap |= PAGE_SIZE; in vfio_update_pgsize_bitmap()
1310 pgshift = __ffs(iommu->pgsize_bitmap); in vfio_dma_do_unmap()
1580 pgsize = (size_t)1 << __ffs(iommu->pgsize_bitmap); in vfio_dma_do_map()
[all …]
/Linux-v5.15/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3.c1866 tg = __ffs(smmu_domain->domain.pgsize_bitmap); in __arm_smmu_tlb_inv_range()
2191 .pgsize_bitmap = smmu->pgsize_bitmap, in arm_smmu_domain_finalise()
2203 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; in arm_smmu_domain_finalise()
2286 stu = __ffs(smmu->pgsize_bitmap); in arm_smmu_enable_ats()
2859 .pgsize_bitmap = -1UL, /* Restricted during device attach */
3585 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; in arm_smmu_device_hw_probe()
3587 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; in arm_smmu_device_hw_probe()
3589 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; in arm_smmu_device_hw_probe()
3614 smmu->pgsize_bitmap |= 1ULL << 42; /* 4TB */ in arm_smmu_device_hw_probe()
3624 if (arm_smmu_ops.pgsize_bitmap == -1UL) in arm_smmu_device_hw_probe()
[all …]
Darm-smmu-v3-sva.c406 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
/Linux-v5.15/drivers/staging/media/tegra-vde/
Diommu.c91 order = __ffs(vde->domain->pgsize_bitmap); in tegra_vde_iommu_init()
/Linux-v5.15/include/linux/
Dio-pgtable.h89 unsigned long pgsize_bitmap; member
Diommu.h92 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */ member
313 unsigned long pgsize_bitmap; member
/Linux-v5.15/include/uapi/linux/
Dvfio.h1065 __u64 pgsize_bitmap; member
/Linux-v5.15/drivers/gpu/host1x/
Ddev.c280 order = __ffs(host->domain->pgsize_bitmap); in host1x_iommu_attach()
/Linux-v5.15/drivers/iommu/amd/
Dio_pgtable.c542 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES, in v1_alloc_pgtable()

12