| /linux/tools/dma/ |
| H A D | dma_map_benchmark.c | 38 /* default granule 1 PAGESIZE */ in main() 39 int granule = 1; in main() 64 granule = atoi(optarg); in main() 110 if (granule < 1 || granule > 1024) { in main() 111 fprintf(stderr, "invalid granule size\n"); in main() 128 map.granule = granule; 136 printf("dma mapping benchmark(%s): threads:%d seconds:%d node:%d dir:%s granule:%d\n", 137 mode[map_mode], threads, seconds, node, directions[dir], granule); 32 int granule = 1; main() local [all...] |
| /linux/include/linux/ |
| H A D | io-pgtable.h | 41 void (*tlb_flush_walk)(unsigned long iova, size_t size, size_t granule, 44 unsigned long iova, size_t granule, void *cookie); 286 size_t size, size_t granule) in io_pgtable_tlb_flush_walk() argument 289 iop->cfg.tlb->tlb_flush_walk(iova, size, granule, iop->cookie); in io_pgtable_tlb_flush_walk() 295 size_t granule) in io_pgtable_tlb_add_page() argument 298 iop->cfg.tlb->tlb_add_page(gather, iova, granule, iop->cookie); in io_pgtable_tlb_add_page()
|
| /linux/drivers/iommu/ |
| H A D | io-pgtable-arm-selftests.c | 27 size_t granule, void *cookie) in dummy_tlb_flush() argument 34 unsigned long iova, size_t granule, in dummy_tlb_add_page() argument 37 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page()
|
| H A D | msm_iommu.c | 139 size_t granule, bool leaf, void *cookie) in __flush_iotlb_range() argument 159 iova += granule; in __flush_iotlb_range() 160 } while (temp_size -= granule); in __flush_iotlb_range() 171 size_t granule, void *cookie) in __flush_iotlb_walk() argument 173 __flush_iotlb_range(iova, size, granule, false, cookie); in __flush_iotlb_walk() 177 unsigned long iova, size_t granule, void *cookie) in __flush_iotlb_page() argument 179 __flush_iotlb_range(iova, granule, granule, true, cookie); in __flush_iotlb_page()
|
| H A D | io-pgtable-arm.c | 875 unsigned long granule, page_sizes; in arm_lpae_restrict_pgsizes() local 886 granule = PAGE_SIZE; in arm_lpae_restrict_pgsizes() 888 granule = 1UL << __fls(cfg->pgsize_bitmap & ~PAGE_MASK); in arm_lpae_restrict_pgsizes() 890 granule = 1UL << __ffs(cfg->pgsize_bitmap & PAGE_MASK); in arm_lpae_restrict_pgsizes() 892 granule = 0; in arm_lpae_restrict_pgsizes() 894 switch (granule) { in arm_lpae_restrict_pgsizes()
|
| H A D | io-pgtable-arm-v7s.c | 786 size_t granule, void *cookie) in dummy_tlb_flush() argument 793 unsigned long iova, size_t granule, in dummy_tlb_add_page() argument 796 dummy_tlb_flush(iova, granule, granule, cookie); in dummy_tlb_add_page()
|
| H A D | virtio-iommu.c | 406 unsigned long granule = 1UL << __ffs(vdomain->domain.pgsize_bitmap); in viommu_domain_map_identity() local 408 iova = ALIGN(iova, granule); in viommu_domain_map_identity() 409 limit = ALIGN_DOWN(limit + 1, granule) - 1; in viommu_domain_map_identity() 412 u64 resv_start = ALIGN_DOWN(resv->start, granule); in viommu_domain_map_identity() 413 u64 resv_end = ALIGN(resv->start + resv->length, granule) - 1; in viommu_domain_map_identity()
|
| H A D | dma-iommu.c | 429 if (cookie->iovad.granule) { in iommu_put_dma_cookie() 492 start += iovad->granule; in cookie_init_hw_msi_region() 701 if (1UL << order != iovad->granule || in iommu_dma_init_domain() 1907 size_t bounce_len = min(size, iovad->granule - iova_start_pad); in iommu_dma_iova_link_swiotlb() 2048 end - addr, iovad->granule - iova_start_pad); in iommu_dma_iova_unlink_range_slow() 2169 return domain->iova_cookie->iovad.granule; in cookie_msi_granule()
|
| H A D | ipmmu-vmsa.c | 317 size_t granule, void *cookie) in ipmmu_tlb_flush() argument
|
| /linux/drivers/iommu/arm/arm-smmu/ |
| H A D | qcom_iommu.c | 148 size_t granule, bool leaf, void *cookie) in qcom_iommu_tlb_inv_range_nosync() argument 164 iova += granule; in qcom_iommu_tlb_inv_range_nosync() 165 } while (s -= granule); in qcom_iommu_tlb_inv_range_nosync() 170 size_t granule, void *cookie) in qcom_iommu_tlb_flush_walk() argument 172 qcom_iommu_tlb_inv_range_nosync(iova, size, granule, false, cookie); in qcom_iommu_tlb_flush_walk() 177 unsigned long iova, size_t granule, in qcom_iommu_tlb_add_page() argument 180 qcom_iommu_tlb_inv_range_nosync(iova, granule, granule, true, cookie); in qcom_iommu_tlb_add_page()
|
| H A D | arm-smmu.c | 282 size_t granule, void *cookie, int reg) in arm_smmu_tlb_inv_range_s1() argument 297 iova += granule; in arm_smmu_tlb_inv_range_s1() 298 } while (size -= granule); in arm_smmu_tlb_inv_range_s1() 304 iova += granule >> 12; in arm_smmu_tlb_inv_range_s1() 305 } while (size -= granule); in arm_smmu_tlb_inv_range_s1() 310 size_t granule, void *cookie, int reg) in arm_smmu_tlb_inv_range_s2() argument 325 iova += granule >> 12; in arm_smmu_tlb_inv_range_s2() 326 } while (size -= granule); in arm_smmu_tlb_inv_range_s2() 330 size_t granule, void *cookie) in arm_smmu_tlb_inv_walk_s1() argument 338 arm_smmu_tlb_inv_range_s1(iova, size, granule, cookie, in arm_smmu_tlb_inv_walk_s1() [all …]
|
| /linux/arch/arm64/kvm/hyp/ |
| H A D | pgtable.c | 34 u64 granule = kvm_granule_size(ctx->level); in kvm_block_mapping_supported() local 39 if (granule > (ctx->end - ctx->addr)) in kvm_block_mapping_supported() 42 if (!IS_ALIGNED(phys, granule)) in kvm_block_mapping_supported() 45 return IS_ALIGNED(ctx->addr, granule); in kvm_block_mapping_supported() 473 u64 granule = kvm_granule_size(ctx->level); in hyp_unmap_walker() local 490 if (ctx->end - ctx->addr < granule) in hyp_unmap_walker() 496 *unmapped += granule; in hyp_unmap_walker() 959 u64 granule = kvm_granule_size(ctx->level); in stage2_map_walker_try_leaf() local 1002 granule); in stage2_map_walker_try_leaf() 1006 mm_ops->icache_inval_pou(kvm_pte_follow(new, mm_ops), granule); in stage2_map_walker_try_leaf()
|
| /linux/arch/powerpc/boot/dts/ |
| H A D | microwatt.dts | 119 reservation-granule-size = <64>; 149 reservation-granule-size = <64>;
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_iommu.c | 464 size_t granule, void *cookie) in msm_iommu_tlb_flush_walk() argument 474 pagetable->tlb->tlb_flush_walk(iova, size, granule, (void *)adreno_smmu->cookie); in msm_iommu_tlb_flush_walk() 480 unsigned long iova, size_t granule, void *cookie) in msm_iommu_tlb_add_page() argument
|
| /linux/Documentation/arch/arm64/ |
| H A D | memory-tagging-extension.rst | 19 allocation tag for each 16-byte granule in the physical address space. 197 4-bit tag per byte and correspond to a 16-byte MTE tag granule in the 200 **Note**: If ``addr`` is not aligned to a 16-byte granule, the kernel 247 in a byte. With the tag granule of 16 bytes, a 4K page requires 128
|
| /linux/arch/arm64/kvm/hyp/nvhe/ |
| H A D | mem_protect.c | 505 u64 granule; in host_stage2_adjust_range() local 526 granule = kvm_granule_size(level); in host_stage2_adjust_range() 527 cur.start = ALIGN_DOWN(addr, granule); in host_stage2_adjust_range() 528 cur.end = cur.start + granule; in host_stage2_adjust_range()
|
| /linux/drivers/gpu/drm/panfrost/ |
| H A D | panfrost_mmu.c | 539 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, in mmu_tlb_flush_walk() argument
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_mmu.c | 1611 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, void *cookie) in mmu_tlb_flush_walk() argument
|
| /linux/arch/arm64/ |
| H A D | Kconfig | 1362 Page size (translation granule) configuration.
|