Searched refs:pgsize_bitmap (Results 1 - 25 of 43) sorted by relevance

12

/linux-master/drivers/iommu/iommufd/
H A Dvfio_compat.c359 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 Dselftest.c291 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 Dtegra.c105 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 Dio-pgtable-dart.c130 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 Dio-pgtable-arm.c493 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 Dvirtio-iommu.c48 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 Dio-pgtable-arm-v7s.c844 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 Dmsm_iommu.c342 .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 Diommu.c1101 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 Dmtk_iommu.c650 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 Dapple-dart.c597 .pgsize_bitmap = dart->pgsize,
611 dart_domain->domain.pgsize_bitmap = pgtbl_cfg.pgsize_bitmap;
989 .pgsize_bitmap = -1UL, /* Restricted during dart probe */
H A Dsprd-iommu.c413 .pgsize_bitmap = SPRD_IOMMU_PAGE_SIZE,
/linux-master/drivers/gpu/drm/msm/
H A Dmsm_iommu.c26 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 Darm-smmu-nvidia.c282 smmu->pgsize_bitmap = PAGE_SIZE;
283 pgtbl_cfg->pgsize_bitmap = smmu->pgsize_bitmap;
H A Darm-smmu.c759 .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 Dqcom_iommu.c232 .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 Dio_pgtable_v2.c250 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 Dio_pgtable.c590 cfg->pgsize_bitmap = AMD_IOMMU_PGSIZES,
/linux-master/drivers/vfio/
H A Dvfio_iommu_type1.c72 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 Dmalidp_planes.c309 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 Diommu.c91 order = __ffs(vde->domain->pgsize_bitmap);
/linux-master/include/linux/
H A Dio-pgtable.h54 * @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 Darm-smmu-v3.c2033 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 Darm-smmu-v3-sva.c416 if (!(smmu->pgsize_bitmap & PAGE_SIZE))
/linux-master/include/uapi/linux/
H A Dvfio.h1511 * 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

Completed in 250 milliseconds

12