/linux-master/drivers/iommu/iommufd/ |
H A D | vfio_compat.c | 359 unsigned long pgsize_bitmap = ULONG_MAX; local 365 pgsize_bitmap &= domain->pgsize_bitmap; 368 if (pgsize_bitmap & ~PAGE_MASK) { 369 pgsize_bitmap &= PAGE_MASK; 370 pgsize_bitmap |= PAGE_SIZE; 372 pgsize_bitmap = max(pgsize_bitmap, ioas->iopt.iova_alignment); 374 return pgsize_bitmap;
|
H A D | selftest.c | 291 mock->domain.pgsize_bitmap = MOCK_IO_PAGE_SIZE; 293 mock->domain.pgsize_bitmap |= MOCK_HUGE_PAGE_SIZE; 459 if (!(domain->pgsize_bitmap & MOCK_HUGE_PAGE_SIZE)) { 525 .pgsize_bitmap = MOCK_IO_PAGE_SIZE,
|
/linux-master/drivers/gpu/drm/nouveau/nvkm/engine/device/ |
H A D | tegra.c | 105 unsigned long pgsize_bitmap; local 132 pgsize_bitmap = tdev->iommu.domain->pgsize_bitmap; 133 if (pgsize_bitmap & PAGE_SIZE) { 136 tdev->iommu.pgshift = fls(pgsize_bitmap & ~PAGE_MASK);
|
/linux-master/drivers/iommu/ |
H A D | io-pgtable-dart.c | 130 size_t sz = data->iop.cfg.pgsize_bitmap; 247 if (WARN_ON(pgsize != cfg->pgsize_bitmap)) 307 if (WARN_ON(pgsize != cfg->pgsize_bitmap || !pgcount)) 358 iova &= (data->iop.cfg.pgsize_bitmap - 1); 372 pg_shift = __ffs(cfg->pgsize_bitmap); 412 if (!(cfg->pgsize_bitmap == SZ_4K || cfg->pgsize_bitmap == SZ_16K))
|
H A D | io-pgtable-arm.c | 493 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize)) 684 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) 744 if (cfg->pgsize_bitmap & PAGE_SIZE) 746 else if (cfg->pgsize_bitmap & ~PAGE_MASK) 747 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); 748 else if (cfg->pgsize_bitmap & PAGE_MASK) 749 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); 770 cfg->pgsize_bitmap &= page_sizes; 783 if (!(cfg->pgsize_bitmap & (SZ_4K | SZ_16K | SZ_64K))) 796 pg_shift = __ffs(cfg->pgsize_bitmap); [all...] |
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; 1158 &viommu->pgsize_bitmap); 1160 if (!viommu->pgsize_bitmap) { 1198 viommu_ops.pgsize_bitmap = viommu->pgsize_bitmap; 1218 dev_info(dev, "page mask: %#llx\n", viommu->pgsize_bitmap); [all...] |
H A D | io-pgtable-arm-v7s.c | 844 cfg->pgsize_bitmap &= SZ_4K | SZ_64K | SZ_1M | SZ_16M; 907 WARN_ON(!(size & cfg_cookie->pgsize_bitmap)); 938 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M, 971 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) { 994 size = 1UL << __ffs(cfg.pgsize_bitmap); 1013 for_each_set_bit(i, &cfg.pgsize_bitmap, BITS_PER_LONG) {
|
H A D | msm_iommu.c | 342 .pgsize_bitmap = msm_iommu_ops.pgsize_bitmap, 355 msm_iommu_ops.pgsize_bitmap = priv->cfg.pgsize_bitmap; 695 .pgsize_bitmap = MSM_IOMMU_PGSIZES,
|
H A D | iommu.c | 1101 pg_size = domain->pgsize_bitmap ? 1UL << __ffs(domain->pgsize_bitmap) : 0; 1974 if (!domain->pgsize_bitmap) 1975 domain->pgsize_bitmap = ops->pgsize_bitmap; 2380 pgsizes = domain->pgsize_bitmap & GENMASK(__fls(size), 0); 2396 pgsizes = domain->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); 2438 if (WARN_ON(!ops->map_pages || domain->pgsize_bitmap == 0UL)) 2442 min_pagesz = 1 << __ffs(domain->pgsize_bitmap); 2530 if (WARN_ON(!ops->unmap_pages || domain->pgsize_bitmap [all...] |
H A D | mtk_iommu.c | 650 dom->domain.pgsize_bitmap = share_dom->cfg.pgsize_bitmap; 658 .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, 678 dom->domain.pgsize_bitmap = dom->cfg.pgsize_bitmap; 1021 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
|
H A D | apple-dart.c | 597 .pgsize_bitmap = dart->pgsize, 611 dart_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 989 .pgsize_bitmap = -1UL, /* Restricted during dart probe */
|
H A D | sprd-iommu.c | 413 .pgsize_bitmap = SPRD_IOMMU_PAGE_SIZE,
|
/linux-master/drivers/gpu/drm/msm/ |
H A D | msm_iommu.c | 26 unsigned long pgsize_bitmap; /* Bitmap of page sizes in use */ member in struct:msm_iommu_pagetable 46 pgsizes = pagetable->pgsize_bitmap & GENMASK(__fls(size), 0); 62 pgsizes = pagetable->pgsize_bitmap & ~GENMASK(pgsize_idx, 0); 308 pagetable->pgsize_bitmap = ttbr0_cfg.pgsize_bitmap;
|
/linux-master/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu-nvidia.c | 282 smmu->pgsize_bitmap = PAGE_SIZE; 283 pgtbl_cfg->pgsize_bitmap = smmu->pgsize_bitmap;
|
H A D | arm-smmu.c | 759 .pgsize_bitmap = smmu->pgsize_bitmap, 783 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 1607 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 1879 smmu->pgsize_bitmap |= SZ_4K | SZ_64K | SZ_1M | SZ_16M; 1882 smmu->pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; 1884 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; 1886 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; 1888 if (arm_smmu_ops.pgsize_bitmap [all...] |
H A D | qcom_iommu.c | 232 .pgsize_bitmap = qcom_iommu_ops.pgsize_bitmap, 250 domain->pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 601 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
|
/linux-master/drivers/iommu/amd/ |
H A D | io_pgtable_v2.c | 250 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize) || !pgcount) 294 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount)) 380 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES_V2,
|
H A D | io_pgtable.c | 590 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES,
|
/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/gpu/drm/arm/ |
H A D | malidp_planes.c | 309 return mmu_dom->pgsize_bitmap; 421 * page size for prefetch is returned in pgsize_bitmap. 424 (struct malidp_plane_state *ms, u32 *pgsize_bitmap) 429 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_FULL_PGSIZES; 435 *pgsize_bitmap = largest_pgsize; 443 pgsizes = *pgsize_bitmap & MALIDP_MMU_PREFETCH_PARTIAL_PGSIZES; 449 *pgsize_bitmap = 1 << __ffs(pgsizes); 452 *pgsize_bitmap = 0; 423 malidp_mmu_prefetch_select_mode(struct malidp_plane_state *ms, u32 *pgsize_bitmap) argument
|
/linux-master/drivers/media/platform/nvidia/tegra-vde/ |
H A D | iommu.c | 91 order = __ffs(vde->domain->pgsize_bitmap);
|
/linux-master/include/linux/ |
H A D | io-pgtable.h | 54 * @pgsize_bitmap: A bitmap of page sizes supported by this set of page 96 unsigned long pgsize_bitmap; member in struct:io_pgtable_cfg 205 * pgsize_bitmap may be restricted).
|
/linux-master/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 2033 tg = __ffs(smmu_domain->domain.pgsize_bitmap); 2323 .pgsize_bitmap = smmu->pgsize_bitmap, 2335 smmu_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap; 2418 stu = __ffs(smmu->pgsize_bitmap); 3083 .pgsize_bitmap = -1UL, /* Restricted during device attach */ 3837 smmu->pgsize_bitmap |= SZ_64K | SZ_512M; 3839 smmu->pgsize_bitmap |= SZ_16K | SZ_32M; 3841 smmu->pgsize_bitmap | [all...] |
H A D | arm-smmu-v3-sva.c | 416 if (!(smmu->pgsize_bitmap & PAGE_SIZE))
|
/linux-master/include/uapi/linux/ |
H A D | vfio.h | 1511 * pgsize_bitmap: Kernel driver returns bitmap of supported page sizes for dirty 1522 __u64 pgsize_bitmap; member in struct:vfio_iommu_type1_info_cap_migration
|